QGIS에서 OpenStreetMap 데이터를로드 하시겠습니까?


36

QGIS 1.8에서는 openstreetmap 플러그인을 사용하여 서버에서 데이터를 요청하거나 QGIS에서 3 개의 레이어 (폴리곤, 폴리 라인 및 포인트)를 생성하는 .osm XML 파일을 열었습니다.

이것은 훌륭했습니다 (64 비트 버그를 제공하거나 새로 매핑 된 영역에 크게 영향을 미칩니다). QGIS 2.x에서 어떻게합니까?

업데이트 된 문서를 찾을 수 없습니다.

벡터 메뉴에서 osm 서버에서 가져 오기를 시도했지만 .osm 파일을 얻었지만 멈췄습니다. XML 파일을로드하기위한 메뉴 옵션이 있지만 공간 라이트 DB를 생성하는데,이 파일은 공간 라이트 레이어로 추가하려고 할 때 비 형상 테이블 만 가지고 있습니다. 속성 테이블을 열면 노드 ID, 방법 등을 볼 수 있지만 실제로 사용하는 방법을 알 수는 없습니다.

또한 .osm XML 파일에서 벡터 레이어를 추가하려고했습니다. 아무것도 표시하지 않는 gpsbabel 창이 표시되고 QGIS에 잘못된 데이터 소스 메시지가 표시됩니다.


2
Tom, QGIS에서 OSM 데이터를 가져 오는 단계별 지침을 작성했습니다. 초보자에게 따라하기가 간단하기를 바랍니다. qgistutorials.com/ko/docs/downloading_osm_data.html
공간 생각

다음은 괜찮은 스타일입니다 (멋진 설정 지침 포함) : github.com/yannos/Beautiful_OSM_in_QGIS PostGIS 용입니다 ( Spatialite 아님).
kontextify

이 링크가 질문에 대한 답변을 제공 할 수 있지만 여기에 답변의 필수 부분을 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않을 수 있습니다. - 리뷰에서
csk

답변:


40

QGIS 3.x 업데이트 : 해결되지 않은 버그가 많기 때문에 QGIS 2의 기존 OSM 임포터가 QGIS 3에서 삭제되었습니다. QuickOSM 플러그인은 osm raw 파일을 읽을 수도 있습니다. 대신 사용자 레이어-레이어 추가-벡터 레이어 추가를 사용할 수 있습니다. 이 경우 OSM 데이터는 http://gdal.org/drv_osm.html에 설명 된대로 GDAL로 열립니다.


에서 QGIS 2.x에서 , 관련된 3 가지 단계가 있습니다

  1. OSM 파일을 가져 오십시오. josm 또는 육교 또는 다른 소스를 사용하여 가져올 수 있습니다. 유효한 xml이어야합니다. qgis Vector> OpenStreetMap> OSM 데이터 다운로드 메뉴 에서 다운로드 할 수도 있지만 결과가 나타나지 않는 경우가 있습니다. 고가도로 터보를 사용하는 것이 좋습니다 .
  2. Vector> OpenStreetMap> XML 에서 토폴로지 가져 오기 . 이것은 비 기하학 테이블이있는 공간 데이터베이스를 생성 할 것이라고 말했습니다. 이것은 토폴로지라고 생각합니다.
  3. 마지막으로, Vector> OpenStreetMap> Export Topology to Spatialite로 데이터를 얻을 수 있습니다 . 여기서 위에서 만든 db 파일을 제공해야하며 qgis 1.8과 마찬가지로 점, 선 또는 다각형선택할 수 있습니다 . 내 보낸 태그 섹션 아래 에서 파일에 포함 된 모든 태그를로드하고 필요한 태그 만 선택할 수 있습니다. 이것은 1.8보다 추가 기능입니다.

모든 노드를 원할 경우 레이어가 맵에 추가되어 다른 옵션으로 3 단계를 반복 할 수 있습니다.

http://wiki.openstreetmap.org/wiki/QGIS#QGIS2_OpenStreetMap_Vectors


4
이것은 엄청나게 복잡해 보이지만 작동합니다. 명확하게하기 위해, 3 단계 후에도 공간적 레이어를 추가하고 생성 한 DB에 연결 한 다음 3 단계에서 생성 한 레이어를 선택하여 결과를 확인해야합니다. 당신의 도움을 주셔서 감사합니다!
Laurent S

나를 위해 레이어가 자동으로 생성되어 추가되었습니다. 데이터베이스에 대한 연결은 2 단계에서 설정했습니다 (확인하지 않은 경우 제외).
AndreJ

15

플러그인을 사용하여 OSM 데이터를 다운로드하고 가져 오기 및 내보내기 동작을 매우 지루한 것으로 나타났습니다. 내가 다른 솔루션을 쓴 이유 : http://anitagraser.com/2014/05/31/a-guide-to-googlemaps-like-maps-with-osm-in-qgis/

요약:

원시 OSM 파일은 상당히 클 수 있습니다. 따라서 XML .osm 형식 대신 압축 된 이진 .pbf 형식 을 다운로드하는 것이 좋습니다. 다운로드 소스로서 Geofabrik을 추천 합니다 .

첫 번째 전처리 단계 : 관심 영역 추출에서 삼투를 사용할 수 있습니다.

C:\Users\anita_000\Geodata\OSM_Noirmoutier>..\bin\osmosis.bat --read-pbf pays-de-la-loire-latest.osm.pbf --bounding-box left=-2.59 bottom=46.58 right=-1.44 top=47.07 --write-xml noirmoutier.osm

QGIS는 .osm 파일도로드 할 수 있지만 .osm 파일이 공간으로 변환되면 성능 및 속성에 대한 액세스가 훨씬 향상됩니다.

C:\Users\anita_000\Geodata\OSM_Noirmoutier>ogr2ogr -f "SQLite" -dsco SPATIALITE=YES noirmoutier.db noirmoutier.osm

QGIS에서는 Add SpatiaLite Layer를 사용하여 점, 선 및 다중 다각형을로드 할 수 있습니다. 공간 테이블을로드 할 때 몇 가지 문제가 있습니다.

  • 토지 다각형이 없습니다. 대신 "해안선"라인 피처가 있습니다.
  • 대부분의 강 다각형이 없습니다. 대신 "강둑"라인 기능이 있습니다.

누락 된 강 다각형을 만드는 것은 그리 중요하지 않습니다.

  1. 수로 = 강둑이있는 모든 선을 선택하십시오.
  2. 처리 도구 상자에서 다각형 도구를 사용하여 선택한 강둑 선으로 둘러싸인 영역에서 다각형을 자동으로 만듭니다. 기본적으로 처리는 선택한 기능에서만 작동하지만이 설정은 처리 설정에서 변경할 수 있습니다.

육지 다각형 (또는 어떤 이유로 원하는 경우 바다 다각형)을 만드는 것은 약간 더 복잡합니다. 대부분 우리가 종종 대륙에서 육지 조각을 자르는 단순한 이유로 해안선이 닫히지 않기 때문입니다. . 따라서 다각형 도구를 사용하려면 해당 영역을 닫아야합니다. 이를 위해서는 먼저 "other_tags"LIKE '% "natural"=> "coastline"%'을 사용하여 해안선을 선택하고이 선택에서 새 레이어를 만들고 (선택 항목을…로 저장) 편집 한 다음 (잊지 마십시오) 영역을 닫기 위해 선을 추가합니다. 그런 다음 다각형 화하십시오.


상당히 안정적인 컴퓨터를 사용하고 있고 다음 아이스 에이지 전에 ogr2ogr 스테이지를 완료하려면을 추가하십시오 --config OGR_SQLITE_SYNCHRONOUS OFF.
scruss

6

플러그인이 마음에 들지 않으면 Overpass API로 필요한 OSM 데이터를 가져오고 Add Vector Layer(enabeling All filesfilter)를 사용 하여 QGIS에 결과를 추가하십시오 .

QGIS 2.0은 GDAL 1.10의 ogr2ogr OSM 임포터를 사용합니다.

현재 플러그인이 지원하는 것보다 관계 지원이 더 나은 것 같습니다.

그냥 확인 당신은 방법과 관계를 다운로드 만든다 완전히 모든 노드와, 방법의 모든 노드 및 관계의 모든 구성원입니다.


4

데이터를 SpatialLite에 넣을 필요 는 없습니다 . 당신은 단지 할 수 있습니다 :

  1. 데이터 다운로드 (벡터> OpenStreetMap> 데이터 다운로드, .osm 파일 생성)
  2. 데이터 (.osm 파일)를 벡터 레이어 (레이어> 벡터 레이어 추가)로로드합니다. 파일을 선택한 후에는 추가 할 레이어를 묻습니다 (GDAL은 Point, Line, MultiLine, MultiPolygon, GeomCollection). 원하는 것을 선택하고로드하십시오.

이것은 어떤 식 으로든 작동하지만 태그를 기반으로 레이어를 분리하지는 않습니다. 따라서 기본적으로 도로와 강은 동일한 선 레이어로 끝나므로 결과 데이터에 대한 분석을 실행하려는 경우에는 실제로 도움이되지 않습니다.
Laurent S

데이터를 가져온 후에는 무엇을하고 있었는지는 확실하지 않습니다. 물론 QGIS의 데이터에서 원하는 기능을 선택할 수 있습니다. 위에서 언급했듯이 특정 데이터 만 원하고 너무 넓은 영역에 있지 않다는 것을 알고 있다면 특정 기능 만 미리 선택할 수 있으므로 오버 패스로 데이터를 다운로드하는 것이 더 좋습니다. Overpass Turbo는 사용자 친화적 인 쿼리 개발 방법입니다. 다음은 경계 상자에있는 모든 고속도로의 예입니다. overpass-turbo.eu/s/2VX
neuhausr
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.