На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Одновременная работа с графами авто и ж/д дорог

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
Одновременная работа с графами авто и ж/д дорог
 
Задача заключается в прокладке маршрута с движением по авто и жд дорогам, причем погрузка/выгрузка на жд может осуществляться только в строго определенных точках.

Пока сделал 2 отдельных sit-а с графами автомобильных и ж/д дорог, поскольку думаю, что сразу делать единый граф нельзя, ведь возможно их геометрическое пересечение на переездах.
И вот теперь думаю - а как их подружить.
Первое что приходит в голову: программно перенести жд граф на слой автомобильного с полной корректировкой семантик узлов и дуг и в нужных точках соединить дугами-переходами.
Может я все усложняю?
 
При построении графа в месте пересечения объектов узел создается если есть общая точка. Поэтому в местах выгрузки сделайте общую точку, а в других местах пересечений уберите.  
 
Общие точки - это когда вершины отрезков совпадают (+- N метров)?
 
При построении графа указывается допуск согласования. Далее точки отрезков, узлов в графе совпадают.
Изменено: Andrey Gheleznyakov - 12.08.2021 14:17:41
 
Попробую и так, хотя сегодня уже написал код переноса графов, вполне себе нормальный граф получается, с двумя изолированными сетями.
 
Странная работа TMapFind.
При поиске узлов гафов, которые лежат в одной точке (а такие есть после соединения 2-х графов) обнаружил интересную особенность работы TMapFind:
Если задать свойство RadiusM:=0.001 (радиус поиска в метрах относительно указанной точки), то при масштабе 1: 500 000 и мельче (1 млн, 5 млн ...) TMapFind считает, что точки, реально находящиеся друг от друга в 500 метрах, находятся друг над другом.
А вот при масштабе 1:200 000 и крупнее, все нормально, это разные точки.

Вопрос: почему масштаб отображения влияет на поиск? Ведь зона задается в метрах на местности.
 
Поиск в точке в TMapFind реализован методом отрисовки объектов по заданной координате и реально использует систему в пикселах. Изображение в пикселах экрана зависит от текущего масштаба. В вашем случае область поиска надо задать через свойство MapSelect.SelectSeekArea или воспользоваться АПИ функцией mapSelectSeekAreaFrame
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности