Программы для Mapinfo

MapInfo, MapBasic
Old_NICK
Интересующийся
Сообщения: 36
Зарегистрирован: 17 апр 2014, 14:10
Репутация: 0

Программы для Mapinfo

Сообщение Old_NICK » 13 мар 2015, 15:39

Коллеги, привет.

Предлагаю написать несколько программ/ утилит для Мапинфо.
1. Геометрия объектов - "косяки". (Двойные узлы, пересечения, объекты без геометрии, нулевые длины и площади)
2. Дубликаты объектов в одной таблице. (Конечно не использовать центроиды, методику поясню.)

Кому интересно пишите в личку.

Спасибо
Изображение

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Программы для Mapinfo

Сообщение Boris » 14 мар 2015, 02:41

#2 - а почему нельзя использовать центроиды? Вот мой опыт показывает, что при совпадении: центроидов, площадей, количества узлов, количества сегментов, периметра - объекты конгруэнтны.
А #1 - вроде есть уже в стандартном наборе "Программы".

Sibit
Активный участник
Сообщения: 216
Зарегистрирован: 21 окт 2009, 13:29
Репутация: 28
Откуда: Новосибирск

Re: Программы для Mapinfo

Сообщение Sibit » 16 мар 2015, 05:56

Boris писал(а):#2 - а почему нельзя использовать центроиды? Вот мой опыт показывает, что при совпадении: центроидов, площадей, количества узлов, количества сегментов, периметра - объекты конгруэнтны.
В мапинфо центроид объекта может находиться где угодно(изначально он ставится внутрь полигона, но после может быть смещен.)

Old_NICK
Интересующийся
Сообщения: 36
Зарегистрирован: 17 апр 2014, 14:10
Репутация: 0

Re: Программы для Mapinfo

Сообщение Old_NICK » 16 мар 2015, 21:48

круг, вписанный в квадрат, имеет тот же центроид что и квадрат. фигуры абсолютно разные
Изображение

Old_NICK
Интересующийся
Сообщения: 36
Зарегистрирован: 17 апр 2014, 14:10
Репутация: 0

Re: Программы для Mapinfo

Сообщение Old_NICK » 16 мар 2015, 21:53

Sibit писал(а):В мапинфо центроид объекта может находиться где угодно(изначально он ставится внутрь полигона
Не согласен. Представьте буфер вокруг буквы Г.
У такой фигуры центроид находится за ее границей.
Изображение

thegeo
Активный участник
Сообщения: 160
Зарегистрирован: 17 янв 2012, 18:51
Репутация: 74

Re: Программы для Mapinfo

Сообщение thegeo » 16 мар 2015, 22:18

Центроид находится внутри области. Всегда.

Sibit
Активный участник
Сообщения: 216
Зарегистрирован: 21 окт 2009, 13:29
Репутация: 28
Откуда: Новосибирск

Re: Программы для Mapinfo

Сообщение Sibit » 17 мар 2015, 08:46

Old_NICK писал(а):круг, вписанный в квадрат, имеет тот же центроид что и квадрат. фигуры абсолютно разные
Нет. Для примера, квадрат со стороной 20 с квадратным отверстием со стороной 10, геометрический центр в 0:

Код: Выделить всё

Region  2
  5
-10 -10
-10 10
10 10
10 -10
-10 -10
  5
-5 -5
-5 5
5 5
5 -5
-5 -5
    Pen (1,2,0) 
    Brush (2,16777215,16777215)
    Center -7.5 0
Центроид в точке -7.5 0. Со вписанным кругом ситуация та же.

Old_NICK
Интересующийся
Сообщения: 36
Зарегистрирован: 17 апр 2014, 14:10
Репутация: 0

Re: Программы для Mapinfo

Сообщение Old_NICK » 17 мар 2015, 14:41

Sibit, дружище, зачем ты усложняешь простое условие. Есть квадрат (без рожек, без лучиков, без квадратов внутри.....). Получается что мое условие не корректно, а твое новое условие корректно. ;)
Изображение

Old_NICK
Интересующийся
Сообщения: 36
Зарегистрирован: 17 апр 2014, 14:10
Репутация: 0

Re: Программы для Mapinfo

Сообщение Old_NICK » 17 мар 2015, 14:47

thegeo писал(а):Центроид находится внутри области. Всегда.
Для диалога далее пример в студию.
Возьми листик бумаги (в клеточку). Нарисуй фигуру 3 клетки вниз и 6 клеток вправо. Где будет центроид у такой фигуры?
Изображение

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

Re: Программы для Mapinfo

Сообщение SergeyRyzhkov » 17 мар 2015, 14:56

Вы бы договорились о понятиях, причем в контексте конкретной ГИС...
Геометрический центр масс и центр площади ...
viewtopic.php?f=16&t=3132

thegeo
Активный участник
Сообщения: 160
Зарегистрирован: 17 янв 2012, 18:51
Репутация: 74

Re: Программы для Mapinfo

Сообщение thegeo » 17 мар 2015, 15:56

Программа MapInfo. Центроид это точка (объект) размещаемая в пределах границы области. Ее можно выделить и свободно перемещать по области. Именно к ней привязываются подписи из таблицы. Не нужно путать с геометрическим центром, центром масс и т.п.
Вложения
miHG159.png
miHG159.png (61.35 КБ) 15190 просмотров

Old_NICK
Интересующийся
Сообщения: 36
Зарегистрирован: 17 апр 2014, 14:10
Репутация: 0

Re: Программы для Mapinfo

Сообщение Old_NICK » 17 мар 2015, 16:46

Вот так новость. Всегда считал что термин "центроид" имеет однозначное понятие. (Мы не движемся и мы на плоскости). Центроид - точка пересечения медиан. А вот корректность перевода англоязычных терминов - это вопрос. Это относится к той ошибки, которая показана. Ничего общего с центроидом эта точка не имеет.
Изображение

thegeo
Активный участник
Сообщения: 160
Зарегистрирован: 17 янв 2012, 18:51
Репутация: 74

Re: Программы для Mapinfo

Сообщение thegeo » 17 мар 2015, 17:53

Обсуждение идет в рамках программы MapInfo и понятие centroid в этом контексте вполне устоявшееся. В MapBasic имеются функции Centroid(), CentroidX() и CentroidY() для определения текущего положения этой точки.

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

Re: Программы для Mapinfo

Сообщение SergeyRyzhkov » 17 мар 2015, 18:09

В Mapinfo MapBasic - да.

А вот, например, в MapInfo MapExtreme

Centroid returns a DPoint containing a representative point this is guaranteed to contained within the FeatureGeometry.

The GeometricCentroid property returns the geometric center of a Geometry. This point is not guaranteed to be contained in the FeatureGeometry.
For closed objects (MultiPolygon, Rectangle, RoundedRectangle, and Ellipse), this is the center of mass of the object, assuming the object has a constant mass throughout. For Rectangle, RoundedRectangle and Ellipse, this is the center of the Bounds. For MultiPolygon, this is the weighted average of the GemoetricCentroids of each Polygon, weighted on the ratio of the Area of the Polygon and the Area of the MultiPolygon.

Но это я так к слову, ни в коем случае не спорить с кем либо.

Sibit
Активный участник
Сообщения: 216
Зарегистрирован: 21 окт 2009, 13:29
Репутация: 28
Откуда: Новосибирск

Re: Программы для Mapinfo

Сообщение Sibit » 18 мар 2015, 08:07

Old_NICK писал(а): Получается что мое условие не корректно, а твое новое условие корректно. ;)
Причем здесь условия? Хотя картинку уже нарисовали :) Ты мог бы получить ее сам, если бы просто попробовал поэкспериментировать с объектами.
SergeyRyzhkov писал(а):В Mapinfo MapBasic - да.
А вот, например, в MapInfo MapExtreme
А куда там подпись объекта ставится по-умолчанию?

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей