Здравствуйте, я ничего не знаю про ГИС, но возникла задача которую мне надо решить.
Вводная: есть веб. проект (python, django) для которого требуется находить маршрут между заданными городами и информацию по нему (АЗС, скорость и тп). Также необходима информация через какие города проходит этот маршрут. Информация нужна только по россии.
Я пока нахожусь в поиске решения, поставил postgres, postgis, сейчас заливаю в него rus.osm
Собственно вопрос: смогу ли я с помощью данных инструментов получить необходимую мне информацию?
Postgres, Postgis, OSM, Geodjango
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 24 ноя 2010, 01:39
- Репутация: 0
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Postgres, Postgis, OSM, Geodjango
в принципе да, но зависит от деталей, например может просто не быть нужных дорог/городов в осме.
pgRouting добавьте в конфигурацию
pgRouting добавьте в конфигурацию
пристегивайтесь, турбулентность прямо по курсу
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 24 ноя 2010, 01:39
- Репутация: 0
Re: Postgres, Postgis, OSM, Geodjango
Спасибо за ответ.
В общем я все сделал. Только роутинг сам не расчитываю, а беру из открытых источников. Следующий вопрос вот в чем:
У меня в postgis есть таблица пои точек (POINT) из OSM карт и есть таблица маршрутов (LINESTRING), теперь мне надо получать ближайшие к маршруту пои точки (ну скажем не далее 500 меторов). То есть по факту точки через которые человек проезжает при следовании по маршруту.
Возможно ли написать запрос в Postgis чтобы вытащить ближайшие к linestring поинты?
Если такой запрос невозможен, то как решать? Сейчас у меня в голове только два варианта: виртуально ехать по маршруту скажем с шагом 2 км и искать точки попадающие в окружность 1 км от текущего местонахождения. Или заменить все пои поинты на квадратные полигоны размера 1км x 1км и искать пересечение маршрута с ними.
В общем я все сделал. Только роутинг сам не расчитываю, а беру из открытых источников. Следующий вопрос вот в чем:
У меня в postgis есть таблица пои точек (POINT) из OSM карт и есть таблица маршрутов (LINESTRING), теперь мне надо получать ближайшие к маршруту пои точки (ну скажем не далее 500 меторов). То есть по факту точки через которые человек проезжает при следовании по маршруту.
Возможно ли написать запрос в Postgis чтобы вытащить ближайшие к linestring поинты?
Если такой запрос невозможен, то как решать? Сейчас у меня в голове только два варианта: виртуально ехать по маршруту скажем с шагом 2 км и искать точки попадающие в окружность 1 км от текущего местонахождения. Или заменить все пои поинты на квадратные полигоны размера 1км x 1км и искать пересечение маршрута с ними.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Postgres, Postgis, OSM, Geodjango
Построить буфер вокруг линии радиусом 1 км и интерсектом собрать в него все попавшие точки.
лангольеры под окном жрали время ом-ном-ном
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей