2013-08-20 3 views
0

Я создаю проект для путешествий, но теперь мне нужна база данных для пляжей по всему миру. есть база данных этого типа. Могу я что-нибудь соскочить. Можно ли получить его из openstreetmap?Получить POIsdatabase

Я стараюсь с: http://poi.openstreetmap.nl/ но нет такого типа объектов (POI)

Кроме того, я был попробовать с Google местах, но есть также нету такого типа ...

ответ

2

Elements в OpenStreetMap описаны по tags. Для пляжей есть тег natural=beach.

Если вы хотите получить все пляжи из OSM, вы можете либо использовать Overpass APi, либо выполнить запрос для всех элементов, имеющих этот тег, или получить необработанные данные (планету или экстракт) и выполнить запрос позже.

Запрос Путепровод-XML будет выглядеть следующим образом:

<osm-script output="json"> 
    <union> 
    <query type="node"> 
     <has-kv k="natural" v="beach"/> 
    </query> 
    <query type="way"> 
     <has-kv k="natural" v="beach"/> 
    </query> 
    <query type="relation"> 
     <has-kv k="natural" v="beach"/> 
    </query> 
    </union> 
    <recurse type="down"/> 
</osm-script> 

и запрос эквивалентен Путепровод-QL (это просто формат компактнее):

[out:json];(node["natural"="beach"];way["natural"="beach"];relation["natural"="beach"];);>;; 

Вы можете run this query directly, чтобы получить необработанные данные (также можно получить XML вместо JSON) или show the result на OverpassTurbo.

Обратите внимание, что это действительно тяжелый запрос, поскольку он включает в себя проверку всего мира, а не только определенного географического региона (чего можно достичь, указав bounding box). Следовательно, для выполнения запроса потребуется некоторое время, и вам, возможно, придется увеличить timeout.

Другой подход - загрузить planet или extract, который вас интересует и использует osmfilter, чтобы извлечь все элементы с прикрепленными к ним тегами.

+0

сколько результатов я буду получать? есть ли какое-то ключевое слово для пляжей? –

+0

Все результаты. Ключевое слово (= tag) для пляжей - это * natural = beach *, как уже отмечалось. – scai

+0

«Замечание»: «Ошибка выполнения: запрос завершен в« recurse \ »в строке 1 через 181 секунд». –

0

Не совсем для пляжей, но вы можете найти много классифицированных объектов POI на этом сайте: http://waypointer.info