Собственно задача:
web проект (php, mysql) итд
человек в поиск вбивает улицу и город, и на карте я ему её подсвечиваю (выделяю). Соответственно нужны границы улицы … полазив по инету итд, все сводится к тому что эти данные надо брать с openstreetmap
так-же подсвечивать административные районы города, выделить сам город итд
Нагрузка от пользователей ожидается существенная, → боремся за скорость всего этого дела.
Как мне решить эту задачу?
взять osm`ы по России например, загрузить в mysql и дальше с ними работать? или еще как …
примеры может есть …
или какой-то сервис, что-б с сервера запросить на основании запроса (город, район, улица) и получить координаты объекта? (кеширование ясное дело на стороне сервера);
Так-же … у меня есть по данным запрашиваем:
код окато запрашиваемого объекта (для улиц с этим сложно, но есть для городов и районов);
код из fias`а для всех типов объектов кроме “районов городов” (ага … вот такой чудный fias);
собственно текстовое название :]
вообщем, куда копать, как делать … примеры бы …
// смотрел еще в сторону wikimapia, но с этим там совсем туго - границы районов там не запросить вроде как
И еще вопрос возник забавный.
вот у меня есть координаты объекта lat&lng соответственно. Как бы мне определить попадает ли эти координаты в “границы района”, которые мне в виде полигона выданы?
мне б надо это сделать в php скрипте … ясно дело, что можно проверить попадает ли объект при выводе на карту (через google.bounds()), но все-же хотелось-бы в php скрипте это сделать
Да, это путь Яндекса: граф дорог (роутинг и пробки) - отдельно, картинка с картой - отдельно.
А вот для этого вам бы выбросить к чертям MySQL и воспользоваться PostGIS, там пространственные функции для этого и предназначены, ответ на ваш вопрос будет давать не просто “php-скрипт”, а SQL-запрос к БД.
возвращает все норм … строю, и получаю вот такое http://i.lpx.pw/g/t/l/h/2531.jpg
тип координат учитываю, считаю что LineString = Polyline в гугл api
совершенно не понятно почему есть промежутки итд …
считаю что каждый “вернутый” place в ответе, это отдельная “линия/полгион” и между собой по сути они не связаны
собственно, мне-б хотелось иметь нормальную обводку улицы … по краям что-б на карте стояла итд … это вообще возможно?
Немного модифицированый imposm3 + постобробка SQL-запросами для того чтобы связать объекты друг с другом. Т.е. фактически то, что советовали выше: “выбросить к чертям MySQL и воспользоваться PostGIS”
я не понимаю, чем мне то поможет, если в osm возвращаются “кривые” координаты (не полные) …
мне поможет только если будут возвращаться правильные координаты …
получаю на выходе: http://i.lpx.pw/g/t/z/l/8916.jpg
я понимаю, что гипотетически “Зеленый город” можно как-то там отнести к Нижегородскому р-ну (хотя и сомневаюсь), но что за линия идет такая между р-ном и городом?
вообщем есть может какая-то возможно получать нормальные и корректные координаты? пусть будет не osm даже … что-то открытое главное и что-б по запросу (api) можно было получить координаты