MapInfo. Работа с запросами
-
- Завсегдатай
- Сообщения: 455
- Зарегистрирован: 17 фев 2016, 14:02
- Репутация: -5
- Откуда: Lviv
- Контактная информация:
MapInfo. Работа с запросами
Привет всем.
Нужна помощь в решение очень простой задачи. На рисунке есть несколько линий. В МапИнфо я могу посчитать длину каждой линии с помощью простого запроса (Query-->Select-->функция ObjectLen).
Но мне нужно посчитать длину красной ламаной линии. Как мне ето сделать с помощью Query-->Select--> ... или каким-то другим способом.
Спасибо
Нужна помощь в решение очень простой задачи. На рисунке есть несколько линий. В МапИнфо я могу посчитать длину каждой линии с помощью простого запроса (Query-->Select-->функция ObjectLen).
Но мне нужно посчитать длину красной ламаной линии. Как мне ето сделать с помощью Query-->Select--> ... или каким-то другим способом.
Спасибо
- Вложения
-
- рис.1
- Без имени-1.jpg (13.18 КБ) 8848 просмотров
-
- Гуру
- Сообщения: 977
- Зарегистрирован: 27 янв 2009, 22:57
- Репутация: 258
-
- Завсегдатай
- Сообщения: 455
- Зарегистрирован: 17 фев 2016, 14:02
- Репутация: -5
- Откуда: Lviv
- Контактная информация:
Re: MapInfo. Работа с запросами
но как мне применить ети алгоритмы(например Дейкстры) в MapInfo?
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: MapInfo. Работа с запросами
Уважаемые авторы, просьба, давайте полное описание задачи, а уважаемые отвечающие, имейте терпение получить полное описание задачи.
В таком обилии букв, совершенно не ясно:
а) это набор отрезков или единая ломаная?;
б) линия ФИЗИЧЕСКИ присутствует или это результат построений "на лету"? поскольку она ортогональна отрезку А;
в) если это набор отрезков, то имеют ли они сопряжение друг с другом?, пересечение?, примыкание?
В таком обилии букв, совершенно не ясно:
а) это набор отрезков или единая ломаная?;
б) линия ФИЗИЧЕСКИ присутствует или это результат построений "на лету"? поскольку она ортогональна отрезку А;
в) если это набор отрезков, то имеют ли они сопряжение друг с другом?, пересечение?, примыкание?
-
- Завсегдатай
- Сообщения: 455
- Зарегистрирован: 17 фев 2016, 14:02
- Репутация: -5
- Откуда: Lviv
- Контактная информация:
Re: MapInfo. Работа с запросами
это набор отрезков, что имеют точки соприкосновения друг с другом. линия физически не присутствует.
задача состоит в том чтоби посчитать длину линии которая состоит с частей других линий которие соприкосновлены между собой или пересикаются с помощью MapInfo
спасибо
задача состоит в том чтоби посчитать длину линии которая состоит с частей других линий которие соприкосновлены между собой или пересикаются с помощью MapInfo
спасибо
-
- Интересующийся
- Сообщения: 42
- Зарегистрирован: 02 ноя 2011, 09:11
- Репутация: 23
Re: MapInfo. Работа с запросами
Пуская ваши линии в файле q1. Рисуете полигон - в файл q2:
Select Sum(ObjectLen(obj, "km")) from q1, q2 where q1.Obj Entirely Within q2.Obj into Selection
Получаете суммарную длину отрезков, которые целиком находятся внутри полигона.
Делаете SQL запрос:Select Sum(ObjectLen(obj, "km")) from q1, q2 where q1.Obj Entirely Within q2.Obj into Selection
Получаете суммарную длину отрезков, которые целиком находятся внутри полигона.
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: MapInfo. Работа с запросами
Если автор предыдущего ответу угадал вашу задачу, то мой ответ - мимо.
Теперь к задаче как я ее понимаю: это поиск пути из пункта А в пункт Б. Или ХЗ что. Не бывает таких задач просто найти длину - они должны быть откуда то куда то. Хотя бы и в постановке найти все пути изо всех начальных точек. Длиннее дольше, но алгоритм тот же, только применяется он много раз.
Для решения такой задачи исходные данные - 85% работы, потому как они должны ИДЕАЛЬНО примыкать друг к ругу и иметь общую вершину, даже в случае, когда это примыкание к длинной прямой. Без этого алгоритмы не будут работать. После это явно или не явно, если вы используете внешнюю библиотеку, строится граф и задача решается на нем. Без топологической корректности данных задача решения не имеет. Никаких чуть-чуть не сошлись или чуть-чуть пересеклись. Все такие ошибки в данных вычищаются ДО начала работы.
И мапинфо для это очень мало подходит. Во-первых, у нее убогие средства контроля топологии, но для задачи до 500 линий - сойдет. Во-вторых, в ней нет библиотек для расчета пути, а реализовывать его самому на мапбасике - это мучение. Хотя может кто то уже намучился и решение есть в сети?
Теперь к задаче как я ее понимаю: это поиск пути из пункта А в пункт Б. Или ХЗ что. Не бывает таких задач просто найти длину - они должны быть откуда то куда то. Хотя бы и в постановке найти все пути изо всех начальных точек. Длиннее дольше, но алгоритм тот же, только применяется он много раз.
Для решения такой задачи исходные данные - 85% работы, потому как они должны ИДЕАЛЬНО примыкать друг к ругу и иметь общую вершину, даже в случае, когда это примыкание к длинной прямой. Без этого алгоритмы не будут работать. После это явно или не явно, если вы используете внешнюю библиотеку, строится граф и задача решается на нем. Без топологической корректности данных задача решения не имеет. Никаких чуть-чуть не сошлись или чуть-чуть пересеклись. Все такие ошибки в данных вычищаются ДО начала работы.
И мапинфо для это очень мало подходит. Во-первых, у нее убогие средства контроля топологии, но для задачи до 500 линий - сойдет. Во-вторых, в ней нет библиотек для расчета пути, а реализовывать его самому на мапбасике - это мучение. Хотя может кто то уже намучился и решение есть в сети?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: MapInfo. Работа с запросами
Например, есть RouteFinder (ссылку на эту контору уже давали выше).Boris писал(а):Во-вторых, в ней нет библиотек для расчета пути, а реализовывать его самому на мапбасике - это мучение. Хотя может кто то уже намучился и решение есть в сети?
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 977
- Зарегистрирован: 27 янв 2009, 22:57
- Репутация: 258
Re: MapInfo. Работа с запросами
http://en.pudn.com/downloads44/sourceco ... 18_en.htmlВо-вторых, в ней нет библиотек для расчета пути, а реализовывать его самому на мапбасике - это мучение.
http://osdir.com/ml/mapinfo-l/2013-03/msg00210.html
http://www.ifp.uni-stuttgart.de/lehre/b ... n/kreutle/
http://esti-map.ru/product/chronomap
http://www.digimap.com/Prod_ChronoVia.html
Но ведь можно это реализовать на delphi или С#.
http://delphiworld.narod.ru/base/delphi ... info1.html
http://www.delphikingdom.com/asp/viewit ... alogid=561
https://code.google.com/archive/p/mapinfodotnetwrapper/
-
- Завсегдатай
- Сообщения: 455
- Зарегистрирован: 17 фев 2016, 14:02
- Репутация: -5
- Откуда: Lviv
- Контактная информация:
Re: MapInfo. Работа с запросами
MYS писал(а):Пуская ваши линии в файле q1. Рисуете полигон - в файл q2:Делаете SQL запрос:
Select Sum(ObjectLen(obj, "km")) from q1, q2 where q1.Obj Entirely Within q2.Obj into Selection
Получаете суммарную длину отрезков, которые целиком находятся внутри полигона.
Прошу прощение, с сложними запросами не очень хорошо знаком, видает ошибку, подскажите что делаю не так
- Вложения
-
- 2f.png (164.96 КБ) 8408 просмотров
-
- 1f.png (163.03 КБ) 8408 просмотров
-
- Активный участник
- Сообщения: 216
- Зарегистрирован: 21 окт 2009, 13:29
- Репутация: 28
- Откуда: Новосибирск
Re: MapInfo. Работа с запросами
В поле Select перечисляются колонки в поле Condition - условия. Вы же все подряд туда напихали. Естественно, что мастер запросов ругается. Попробуйте начать с простых запросов, когда освоите - попробуйте ввести ваш запрос.
-
- Завсегдатай
- Сообщения: 455
- Зарегистрирован: 17 фев 2016, 14:02
- Репутация: -5
- Откуда: Lviv
- Контактная информация:
Re: MapInfo. Работа с запросами
напишыте пожалуйста как правильно ввести именно этот пример. спасибо
-
- Интересующийся
- Сообщения: 42
- Зарегистрирован: 02 ноя 2011, 09:11
- Репутация: 23
Re: MapInfo. Работа с запросами
Select Columns: Sum(ObjectLen(obj, "km"))
from Tables: q1, q2
where Condition: q1.Obj Entirely Within q2.Obj
into Table named: Selection
from Tables: q1, q2
where Condition: q1.Obj Entirely Within q2.Obj
into Table named: Selection
-
- Завсегдатай
- Сообщения: 455
- Зарегистрирован: 17 фев 2016, 14:02
- Репутация: -5
- Откуда: Lviv
- Контактная информация:
Re: MapInfo. Работа с запросами
спасибо
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и 2 гостя