MapInfo. Работа с запросами

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
xtxskif
Завсегдатай
Сообщения: 455
Зарегистрирован: 17 фев 2016, 14:02
Репутация: -5
Откуда: Lviv
Контактная информация:

MapInfo. Работа с запросами

Сообщение xtxskif » 21 фев 2016, 21:44

Привет всем.
Нужна помощь в решение очень простой задачи. На рисунке есть несколько линий. В МапИнфо я могу посчитать длину каждой линии с помощью простого запроса (Query-->Select-->функция ObjectLen).
Но мне нужно посчитать длину красной ламаной линии. Как мне ето сделать с помощью Query-->Select--> ... или каким-то другим способом.
Спасибо
Вложения
Без имени-1.jpg
рис.1
Без имени-1.jpg (13.18 КБ) 8854 просмотра


xtxskif
Завсегдатай
Сообщения: 455
Зарегистрирован: 17 фев 2016, 14:02
Репутация: -5
Откуда: Lviv
Контактная информация:

Re: MapInfo. Работа с запросами

Сообщение xtxskif » 22 фев 2016, 10:54

но как мне применить ети алгоритмы(например Дейкстры) в MapInfo?

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

Re: MapInfo. Работа с запросами

Сообщение Boris » 22 фев 2016, 17:29

Уважаемые авторы, просьба, давайте полное описание задачи, а уважаемые отвечающие, имейте терпение получить полное описание задачи.
В таком обилии букв, совершенно не ясно:
а) это набор отрезков или единая ломаная?;
б) линия ФИЗИЧЕСКИ присутствует или это результат построений "на лету"? поскольку она ортогональна отрезку А;
в) если это набор отрезков, то имеют ли они сопряжение друг с другом?, пересечение?, примыкание?

xtxskif
Завсегдатай
Сообщения: 455
Зарегистрирован: 17 фев 2016, 14:02
Репутация: -5
Откуда: Lviv
Контактная информация:

Re: MapInfo. Работа с запросами

Сообщение xtxskif » 29 фев 2016, 15:36

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

MYS
Интересующийся
Сообщения: 42
Зарегистрирован: 02 ноя 2011, 09:11
Репутация: 23

Re: MapInfo. Работа с запросами

Сообщение MYS » 29 фев 2016, 17:17

Пуская ваши линии в файле q1. Рисуете полигон - в файл q2:
lineInPol.png
lineInPol.png (7.32 КБ) 8632 просмотра
Делаете SQL запрос:

Select Sum(ObjectLen(obj, "km")) from q1, q2 where q1.Obj Entirely Within q2.Obj into Selection

Получаете суммарную длину отрезков, которые целиком находятся внутри полигона.

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

Re: MapInfo. Работа с запросами

Сообщение Boris » 29 фев 2016, 17:54

Если автор предыдущего ответу угадал вашу задачу, то мой ответ - мимо.
Теперь к задаче как я ее понимаю: это поиск пути из пункта А в пункт Б. Или ХЗ что. Не бывает таких задач просто найти длину - они должны быть откуда то куда то. Хотя бы и в постановке найти все пути изо всех начальных точек. Длиннее дольше, но алгоритм тот же, только применяется он много раз.
Для решения такой задачи исходные данные - 85% работы, потому как они должны ИДЕАЛЬНО примыкать друг к ругу и иметь общую вершину, даже в случае, когда это примыкание к длинной прямой. Без этого алгоритмы не будут работать. После это явно или не явно, если вы используете внешнюю библиотеку, строится граф и задача решается на нем. Без топологической корректности данных задача решения не имеет. Никаких чуть-чуть не сошлись или чуть-чуть пересеклись. Все такие ошибки в данных вычищаются ДО начала работы.
И мапинфо для это очень мало подходит. Во-первых, у нее убогие средства контроля топологии, но для задачи до 500 линий - сойдет. Во-вторых, в ней нет библиотек для расчета пути, а реализовывать его самому на мапбасике - это мучение. Хотя может кто то уже намучился и решение есть в сети?

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: MapInfo. Работа с запросами

Сообщение Александр Мурый » 29 фев 2016, 18:05

Boris писал(а):Во-вторых, в ней нет библиотек для расчета пути, а реализовывать его самому на мапбасике - это мучение. Хотя может кто то уже намучился и решение есть в сети?
Например, есть RouteFinder (ссылку на эту контору уже давали выше).
Редактор материалов, модератор форума

bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: MapInfo. Работа с запросами

Сообщение bim2010 » 29 фев 2016, 18:17


xtxskif
Завсегдатай
Сообщения: 455
Зарегистрирован: 17 фев 2016, 14:02
Репутация: -5
Откуда: Lviv
Контактная информация:

Re: MapInfo. Работа с запросами

Сообщение xtxskif » 29 мар 2016, 01:58

MYS писал(а):Пуская ваши линии в файле q1. Рисуете полигон - в файл q2:
Вложение lineInPol.png больше недоступно
Делаете SQL запрос:

Select Sum(ObjectLen(obj, "km")) from q1, q2 where q1.Obj Entirely Within q2.Obj into Selection

Получаете суммарную длину отрезков, которые целиком находятся внутри полигона.

Прошу прощение, с сложними запросами не очень хорошо знаком, видает ошибку, подскажите что делаю не так
Вложения
2f.png
2f.png (164.96 КБ) 8414 просмотров
1f.png
1f.png (163.03 КБ) 8414 просмотров

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

Re: MapInfo. Работа с запросами

Сообщение Sibit » 29 мар 2016, 11:04

В поле Select перечисляются колонки в поле Condition - условия. Вы же все подряд туда напихали. Естественно, что мастер запросов ругается. Попробуйте начать с простых запросов, когда освоите - попробуйте ввести ваш запрос.

xtxskif
Завсегдатай
Сообщения: 455
Зарегистрирован: 17 фев 2016, 14:02
Репутация: -5
Откуда: Lviv
Контактная информация:

Re: MapInfo. Работа с запросами

Сообщение xtxskif » 29 мар 2016, 12:03

напишыте пожалуйста как правильно ввести именно этот пример. спасибо

MYS
Интересующийся
Сообщения: 42
Зарегистрирован: 02 ноя 2011, 09:11
Репутация: 23

Re: MapInfo. Работа с запросами

Сообщение MYS » 29 мар 2016, 12:24

Select Columns: Sum(ObjectLen(obj, "km"))

from Tables: q1, q2

where Condition: q1.Obj Entirely Within q2.Obj

into Table named: Selection

xtxskif
Завсегдатай
Сообщения: 455
Зарегистрирован: 17 фев 2016, 14:02
Репутация: -5
Откуда: Lviv
Контактная информация:

Re: MapInfo. Работа с запросами

Сообщение xtxskif » 29 мар 2016, 14:28

спасибо

Ответить

Вернуться в «Я новичок!»

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

Сейчас этот форум просматривают: Bing [Bot] и 3 гостя