Интересно, есть ли какой-либо API, который мог бы запросить данные OSM, например, Есть (lon_1, lat_1) на суше или в море? Или можно ли получить остров как четко определенный полигон? Единственное, что я видел до сих пор, - это просто инструменты для рендеринга данных OSM (генерации плит).
Есть ли API для openstreetmap?
Ответ 1
Я нашел отличный API для чтения данных Openstreetmap; Mapscript. Это интерфейс MapServer, который способен читать файлы *.map и *.shp. Он может использовать пространственный индекс и, следовательно, потенциально чрезвычайно быстро. Я сделал случайный поиск полигонов (проверяя, пересекает ли многоугольник землю) файла формы береговой линии мира за 40 мс.
Ответ 2
Да, есть api и xapi (расширенный api).
Я еще не использовал их.
Но в OSM есть облачный api. Я немного поиграл с api python.
Я не уверен, что если кто-то из них может помочь вам с вашей конкретной проблемой, но вы можете найти coastline рядом с ваш пункт. Если ваша точка находится в пределах многоугольника tagged natural = coastline, у вас есть остров (или континент)...
Ответ 3
Вы можете использовать API геокодирования CloudMade для поиска острова в данных OpenStreetMap. API вернет геометрию результата по умолчанию, и это звучит для меня, что вы ищете. Например, Арран у берегов Шотландии можно найти по следующему запросу http:
http://geocoding.cloudmade.com/BC9A493B41014CAABB98F0471D759707/geocoding/find/Arran,UK.js?results=1
(и как аккуратный маленький взлом, изменение .js на .html превью на результат.
Дополнительные документы и примеры API находятся у разработчиков .cloudmade.com/projects/show/geocoding-http-api Если вы не хотите использовать http api, тогда API-интерфейсы абстракции доступны на нескольких языках: ruby, python, perl и др.
Ответ 4
Никто, кажется, не упомянул здесь API Листовка:
http://leafletjs.com/reference.html
Ответ 5
Конечно, api javascript называется openlayers.
Ответ 6
Я использовал выдержки OSM CloudMade, но у меня были проблемы с ними. Например, Норвегия была обрезана слишком сильно, в результате чего некоторые дороги на западном побережье исчезли.
Теперь я предпочитаю API обхода.
Поместите что-то подобное в форму запроса в http://www.overpass-api.de/query_form.html
<osm-script timeout="10000" element-limit="1073741824">
<union into="_">
<bbox-query into="_" s="52.3170669250001" n="52.4027433480001" w="4.80527567900009" e="4.97793537400008"/>
<recurse from="_" into="_" type="up"/>
<recurse from="_" into="_" type="down"/>
</union>
<print from="_" limit="" mode="meta" order="id"/>
</osm-script>
Поместите границы области, которую вы хотите, в градусах, в атрибутах s, n, w и e элемента.
Ответ 7
MapQuest имеет набор API-интерфейсов "Open" для веб-сервисов на основе данных OpenStreetMap с довольно неограниченными Условиями (т.е. Условия тесно связаны с условиями OSM):
Ответ 8
как насчет http://wiki.openstreetmap.org/wiki/Nominatim? Я использовал это и настроил свой собственный сервер