Извлечь координаты полилинии

MapInfo, MapBasic
Ответить
KatyaBojko
Новоприбывший
Сообщения: 4
Зарегистрирован: 02 фев 2015, 19:26
Репутация: 0

Извлечь координаты полилинии

Сообщение KatyaBojko » 02 фев 2015, 21:01

Здравствуйте, уважаемые знатоки Mapinfo.
Подскажите, как решить такую задачу:
Нарисован ряд полилиний. При выделении одной из них и нажатии F7 на экран высвечивается геоинформация, в которой прописаны координаты начала и конца полилинии.
Подскажите, как можно извлечь эти данные в табличную форму? Если программа выдаёт эти данные, значит они где-то содержатся!
Во вложении - пример задачи.
Спасибо всем. Буду рада любым ответам!
Вложения
пример.jpg
пример.jpg (29.77 КБ) 13527 просмотров

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Извлечь координаты полилинии

Сообщение gamm » 02 фев 2015, 21:11

KatyaBojko писал(а):Подскажите, как решить такую задачу
RTFM, export MIF/MIF

KatyaBojko
Новоприбывший
Сообщения: 4
Зарегистрирован: 02 фев 2015, 19:26
Репутация: 0

Re: Извлечь координаты полилинии

Сообщение KatyaBojko » 02 фев 2015, 22:42

Спасибо, конечно.
Но, нельзя ли более подробнее, потому как при экспорте в mid/mif и дальнейшем его импорте, ничего не происходит.
И если можно, без RTFM!

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

Re: Извлечь координаты полилинии

Сообщение thegeo » 02 фев 2015, 23:08

Открываете полученный MIF в Блокноте и используете координаты по вашему усмотрению, например, копируете в Excel или Word.

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

Re: Извлечь координаты полилинии

Сообщение Boris » 03 фев 2015, 02:21

На приведенном снимке нет полилинии. На нем показана линия - один сегмент, одна часть, не изгибов (в этой проекции). Подозреваю, что и вершин в ней то же только две.
Вот теперь либо покажите MIF, либо расскажите, что собственно делаете и главное какой результат ищите. Пока что показанное решается действительно через MIF, либо через 3-4 запроса+руками сделать движения.

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

Re: Извлечь координаты полилинии

Сообщение Sibit » 03 фев 2015, 07:18

У вас нарисованы линии. Для линий в обновить колонку пишите: ObjectgeoGraphy(Obj,X) где X от 1 до 4 (надеюсь, разберетесь что к чему). Для полилиний ObjectNodeX(Obj,i,j) и ObjectNodeY(Obj,i,j) где i - номер сегмента, j - номер точки. Последняя точка в сегменте дает функция ObjectInfo( obj, 21 + i ) где i - номер сегмента.

PS Остальное можно прочитать в документации :)

PPS И не забудьте в Настройки>Режимы>Окно карты>Проекция для сеанса убедиться что эта проекция совпадает с проекцией вашей таблицы.
Последний раз редактировалось Sibit 03 фев 2015, 07:30, всего редактировалось 1 раз.

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Извлечь координаты полилинии

Сообщение gamm » 03 фев 2015, 07:26

KatyaBojko писал(а):И если можно, без RTFM
без чтения мануала никак нельзя - там написано, что в файле MIF содержится желанная текстовая табличка с координатами полилинии. А также то, что бывают PLINE и LINE (на картинке - последнее, судя по всему). И много еще разного интересного :mrgreen:

KatyaBojko
Новоприбывший
Сообщения: 4
Зарегистрирован: 02 фев 2015, 19:26
Репутация: 0

Re: Извлечь координаты полилинии

Сообщение KatyaBojko » 03 фев 2015, 10:44

Всем спасибо огромное!
У меня в таблице имеются как линии, так и полилинии. Атрибутивная таблица содержит информацию, как то - номер линии, её данные. Мне необходимо было заполнить эту таблицу еще и координатами начала и конца линий.
Содержание файла MIF не удобен в моём случае, так как координаты, которые отображаются, не привязаны, например к номеру линии. Метод с обновлением колонки подошёл. Использовала оператор ObjectgeoGraphy(Obj,X), только X - от 1 до 4 это, соответственно X1, Y1, X2, Y2.
Вложения
прмер2.jpg
так выглядит атрибутивная таблица линий
прмер2.jpg (313.54 КБ) 13403 просмотра

KatyaBojko
Новоприбывший
Сообщения: 4
Зарегистрирован: 02 фев 2015, 19:26
Репутация: 0

Re: Извлечь координаты полилинии

Сообщение KatyaBojko » 03 фев 2015, 10:47

[quote="Sibit"]У вас нарисованы линии. Для линий в обновить колонку пишите: ObjectgeoGraphy(Obj,X) где X от 1 до 4 (надеюсь, разберетесь что к чему). Для полилиний ObjectNodeX(Obj,i,j) и ObjectNodeY(Obj,i,j) где i - номер сегмента, j - номер точки.

Спасибо Вам. Меня именно интересовал метод с обновлением колонки!

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

Re: Извлечь координаты полилинии

Сообщение Boris » 04 фев 2015, 00:40

KatyaBojko писал(а):
Sibit писал(а):У вас нарисованы линии. Для линий в обновить колонку пишите: ObjectgeoGraphy(Obj,X) где X от 1 до 4 (надеюсь, разберетесь что к чему). Для полилиний ObjectNodeX(Obj,i,j) и ObjectNodeY(Obj,i,j) где i - номер сегмента, j - номер точки.

Спасибо Вам. Меня именно интересовал метод с обновлением колонки!
Не хотелось бы вас огорчать, но вы получили форменную глупость этим запросом, в случае если у вас были полиниии.
Потому что для линий 1 и 2 - это координаты начала линии, а 3 и 4 - это конец. Для всех остальных фигур - это наименьшие и наибольшие координаты MBR (минимального охватывающего прямоугольника в выбранной проекции):
OBJ_GEO_MINX
Minimum x-coordinate of an object's minimum bounding rectangle (MBR), unless the object is a line; if the object is a line, returns same value as OBJ_GEO_LINEBEGX.
Для правильного ответа на вопрос необходимо использовать еще и функцию ObjectInfo( ) для получения количества точек в полилинии (и всех ее сегментах). Если конечно вопрос был именно в координатах начала и конца, а не что то подразумеваемое, но иное.

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

Re: Извлечь координаты полилинии

Сообщение Sibit » 04 фев 2015, 05:44

Boris писал(а): Не хотелось бы вас огорчать, но вы получили форменную глупость этим запросом, в случае если у вас были полиниии.
Что ж вы так в людей не верите? Может автор догадался в два приема таблицу обновить.

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

Re: Извлечь координаты полилинии

Сообщение Boris » 05 фев 2015, 02:41

Я в людей как раз верю. И потому отметил, что без знания количества сегментов, если они не в одну линию, а ветвятся, то это вообще все дает неопределенность, и количества вершин в последнем из них, получите то, что сказано выше. В самом крайнем случае, линию указывающую перпендикулярно искомой.

Ответить

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

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

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