2013-11-25 1 views
1

사용자가 주어진 순간에 대한 정보를 얻기 위해 쿼리를 올바르게하는 데 어려움이 있습니다.Overpass API를 사용하여 Open Street Map에서 특정 위치 정보를 얻는 방법은 무엇입니까?

예를 들어 사용자가 자동차를 운전하고있어 사용자가 운전하는 도로에 대한 정보를 얻고 싶습니다.

위치 정보를 얻기 위해 coord-query을 사용하려했지만 유용한 정보를 찾을 수 없었습니다. 내가 사용 등을 허용 이름, 한방향, 자전거 등의 응답

로 나는 많은을 얻을

<query type="way"> 
    <has-kv k="maxspeed"/> 
    <bbox-query {{bbox}}/> 
</query> 
<union> 
    <item/> 
    <recurse type="down"/> 
</union> 
<print/> 

보다 유용한 정보 :

<?xml version="1.0" encoding="UTF-8"?> 
<osm-script> 
    <coord-query lat="51.87810" lon="4.52587" /> 
    <print mode="body" /> 
</osm-script> 

그러나 나는 bbox-query를 실행하려고하면 this 쿼리를 테스트하는 도구입니다.

제 질문은 coord-query에서 bbox-query의 정보를 얻는 방법을 얻는 것입니다. 그래서 그 주변의 거리에 대한 정보가 아니라 해당 특정 위치에 대한 정보 만 반환하겠습니까?

+1

리버스 지오 코딩을 시도합니다. 여기에 OSM 기본 응용 프로그램 인 Nominatim을 사용하지 않는 특별한 이유가 있습니까? http://wiki.openstreetmap.org/wiki/Nominatim#Reverse_Geocoding_.2F_Address_lookup – MaM

+1

@MaM 그게 전부가 아닙니다. 역 지오 코딩은 일반적으로 도로 특정 정보에 관심이있는 동안 주소 정보를 반환합니다. Nominatim을 통해 여전히 가능하지만 지오 코딩 결과의 ID ID를 추출하고 필요한 정보를 얻기 위해 다른 API 호출을해야합니다. – scai

+0

오 오케이, 나는 그 위치가 여기서의 위치라는 것을 이해하지 못했다. 감사! – MaM

답변

3

는 불행하게도 더 많은 documentation for the coord-query없이 examples가 있지만이 쿼리 지역하지 방법을 검색하는 것 같습니다.

내 의견으로는 정확한 좌표가 없기 때문에 bbox-query이 더 유용 할 수 있습니다. 또한 특정 좌표에서 단지 하나 이상의 도로가있을 수 있음을 명심하십시오. 서로 위 또는 아래로 지나가거나 교차하는 교차점이나 도로에서.

그래서 어느 쪽이 가장 합리적인 경로인지 결정하기 위해 여러 도로를 비교하기 위해 뭔가를 구현해야합니다. 예를 들어, 어디에 있었는지, 어디로 향하고 있는지,이 정보를 주변 도로의 지오메트리와 비교하여 확인할 수 있습니다. 마찬가지로 처음과 마지막으로 nodes의 OSM 방식이 도움이 될 것입니다. 연결 방식은 시작이나 끝에서 항상 동일한 노드를 공유하기 때문입니다.

+2

편의상 주위 선택기 ('')를 사용할 수도 있습니다. http://overpass-turbo.eu/s/1Bq하지만 scai가 지적한 것처럼 여전히 후 처리 작업을 수행해야합니다. – tyr