문제

예를 들어 OSM 데이터를 쿼리 할 수있는 API가 있는지 궁금합니다. (lon_1, lat_1)가 육지 또는 바다에 있습니까? 아니면 잘 정의 된 다각형으로 섬을 얻을 수 있을까요? 내가 지금까지 본 유일한 사용법은 OSM 데이터를 렌더링하는 도구 (타일 생성)였습니다.

도움이 되었습니까?

해결책 7

OpenStreetMap 데이터를 읽을 수있는 훌륭한 API를 찾았습니다. 맵 스크립트. 이것은 *.map 및 *.shp 파일을 읽을 수있는 Mapserver의 인터페이스입니다. 공간 지수를 사용할 수 있으므로 잠재적으로 매우 빠릅니다. 나는 40ms의 World Coastline Shape 파일의 임의의 다각형 조회 (다각형이 땅을 교차하는지 확인)를 수행했습니다.

다른 팁

예, an이 있습니다 API 그리고 Xapi (확장 된 API).

나는 이것을 아직 사용하지 않았다.

그러나 또한 있습니다 CloudMade API OSM에. 나는 Python API와 조금 놀았습니다.

그들이 당신의 특정 문제에 당신을 도울 수 있다면 확실하지 않지만 당신은 해안선 당신의 요점 근처. 당신의 요점이 다각형 안에 있다면 태그 자연 = 해안선, 당신은 섬 (또는 대륙)이 있습니다 ...

CloudMade의 GeoCoding API를 사용하여 OpenStreetMap 데이터에서 섬을 검색 할 수 있습니다. API는 기본적으로 결과의 지오메트리를 반환 할 것이며, 이는 당신이 찾고있는 것을 나에게 들립니다. 예를 들어, 스코틀랜드 해안에서 Arran은 다음 HTTP 요청에 의해 찾을 수 있습니다.

http://geocoding.cloudmade.com/bc9a493b41014caabb98f0471d759707/geocoding/find/arran,uk.js?results=1

(그리고 깔끔한 작은 해킹으로 .js를 .html로 변경하면 결과를 미리 봅니다.

API의 더 많은 문서 및 예제는 Developers.cloudmade.com/projects/show/geocoding-htttp-api에 있습니다. 다른 사람.

아무도 여기서 언급 한 것 같습니다 전단 API :
http://leafletjs.com/reference.html

CloudMade OSM 추출물을 사용했지만 문제가있었습니다. 예를 들어, 노르웨이는 너무 단단히 잘려서 서해안의 일부 도로가 사라졌습니다.

나는 이제 육교 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>

원하는 영역의 범위를 각도, n, w 및 e 속성에 배치하십시오.

물론 JavaScript API가 호출됩니다 오픈 레이어.

MapQuest는 상당히 무제한 용어를 가진 OpenStreetMap 데이터를 기반으로 한 'Open'웹 서비스 API 세트가 있습니다 (즉, 용어는 OSM의 용어와 밀접한 관련이 있음).

http://developer.mapquest.com/web/products/open

어때 http://wiki.openstreetmap.org/wiki/nominatim? 나는 이것을 사용하고 내 자신의 서버를 설정했습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top