osm2pgsql에서 planet_osm_roads 테이블은 어떻게 채워 집니까?


11

osm2pgsql을 사용하여 planet.osm에서 북미 OSM 데이터베이스를 채우고 있습니다.

결과 PostGIS 스키마가 얼마나 간단한 지 좋아하지만 내용이 약간 혼란 스럽습니다.

나는 두 개의 테이블을 가지고 planet_osm_roadsplanet_osm_line. planet_osm_roads에 모든 고속도로 데이터가 포함되어 있다고 가정했지만 일부 '고속도로'유형의 도로 일부만 포함하고 있음을 발견했습니다.

예를 들어 planet_osm_line에는 '고도'값이 '거주자'인 12,000,000 개 이상의 라인이 있습니다. 그러나 planet_osm_roads는 2,000 개만 있습니다. 비교하면 두 테이블 모두 동일한 개수의 '고속도로'기능을 갖습니다. 데이터를 보면 일부 기능이 한 테이블에 있지만 다른 기능은 아닌 이유를 알 수 없습니다.

osm2pgsql이 라인 피처를 각 테이블로 보내는 데 사용하는 규칙을 정말로보고 싶습니다.

나는 수수께끼를 밝히기 위해 osm2pgsql 소스 코드를 살펴 보았지만 지금까지 내가 찾은 것을 찾지 못했습니다.

모든 제안은 매우 환영합니다.

답변:


9
  • planet_osm_line : 가져온 모든 방법을 포함합니다
  • planet_osm_point : 태그가있는 가져온 모든 노드를 포함합니다
  • planet_osm_polygon : 가져온 모든 다각형을 포함합니다. 그 관계는 해결 된 것 같습니다.
  • planet_osm_roads : planet_osm_line낮은 줌 레벨에서 렌더링하기 에 적합한 하위 세트를 포함 합니다. planet_osm_line개요 맵에 렌더링하기에 너무 많은 요소가 포함되어 있습니다.

osm_line을 사용하십시오

좋은 예를 보려면 http://www.opencyclemap.org/?zoom=5&lat=39.98469&lon=-99.18887&layers=B00 을 참조하십시오. 경로 / 경로 색상이 조정되어 있습니다.

소스 http://wiki.openstreetmap.org/wiki/Osm2pgsql/schema#Tables_Created


4

planet_osm_roads 고속도로, 강 등의 낮은 줌 레벨 렌더링에 사용되는 방법 만 포함합니다. 주거 도로, 시내 및 일반적으로 높은 줌에서만 렌더링되는 다양한 기타 기능과 같은 세부 정보는 포함하지 않습니다.

도로 테이블에 추가 할 내용의 기본 C 태그 변환 정의는 tagtransform.cpp입니다.

이것을 사용자 정의하려면 lua 태그 변환을 작성하는 것이 가장 좋습니다 . 예를 들어 샘플 lua 태그 변환 인 style.lua 를 볼 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.