QGIS를 사용한 지리 참조 벡터 PDF / SVG / DXF 라인 워크? [복제]


12

도시의 투표소별로 선거 결과를 시각화하는 작은 웹 응용 프로그램을 만들고 싶습니다. 결과는 베를린 에서 행해진 것과 매우 유사 할 것 입니다. 바라건대 이것이 내가 가고있는 것을 이해하는 데 도움이되기를 바랍니다.

필요한 규모의 선거 원시 데이터가 게시되었으며 선거구를 나타내는 별도의 다각형이있는 셰이프 파일의 근거로 이것을 시각화하는 방법을 알고 있습니다. 내 문제는 아마 당신이 짐작할 수 있듯이 이와 같은 것이 아직 존재하지 않는다는 것입니다.

그러나 실제로 출판되는 것은 내가 관심있는 지구의 경계를 나타내는 PDF 파일입니다. http://muenster.de/stadt/stadtplanung/pdf/a3_stimmbezirk.pdf

나는 직접 선 작업을 다시 그리는 것에 관심이 없으므로, 이것으로부터 shapefile을 만드는 방법을 찾고 있습니다. 다행히 PDf에는 별도의 벡터 객체로 라인 워크가 포함되어 있으며이를 SVG 파일로 추출했습니다. https://www.dropbox.com/s/bn7698yrdh5tdqj/a3_stimmbezirk_ungrouped.svg

SVG를 DXF로 변환하고 qgis 2.0.1로 가져 오기를 이미 시도했습니다. 이것은 실제로 작동하지만 (예상대로) 대서양에 벡터를 배치하고 편집하고 수정하는 방법을 찾을 수 없습니다.

오픈 소스 도구로 이러한 벡터를 지리 참조하고 최종적으로 모양 파일을 생성하려면 어떻게해야합니까?


Munster 용 OpenStreeMap Shapefiles를 다운로드 할 수 없습니까? download.geofabrik.de/europe/germany/nordrhein-westfalen/… 관리 경계는 이미 지리 참조되어 있습니다.
Mapperz

댓글 주셔서 감사합니다, Mapperz! 내가 할 수있는 것처럼 보이지만 현재 선거구 ( "Stimmbezirke")가 포함되어 있지 않습니까?
bfncs

답변:


12

나는 똑같은 일을하려고하는 동안 당신의 질문에 우연히 만났습니다.

사용 된 소프트웨어 :

  • 잉크 스케이프
  • QGIS 2.2
  • QGIS를위한 Affine Transformation 플러그인

PDF에서 벡터 데이터 추출

기본적으로 Inkscape에서 PDF를 열고 원하는 모양을 찾고 모든 배경과 주변 텍스트를 제거하기 만하면됩니다. .dxf 파일 로 저장하십시오 .

벡터 파일의 지리 참조

벡터 파일로 작업하려면 QGIS를 사용하여 벡터를 ESRI Shapefile로 변환해야합니다.

QGIS를 열고 dxf 파일을 래스터 레이어로 추가하고 좌표계로 DHDN / Gauss-Kruger zone 3 (EPSG : 31467) 을 선택하십시오. 레이어를 마우스 오른쪽 버튼으로 클릭하고 ESRI Shapefile로 저장합니다. 이 모양 파일을 래스터 레이어로 열고 다른 모양 파일을 제거하십시오.

이제 좌표 0, 0에 Münsters Wahlbezirke가 있습니다.

벡터를 올바른 위치로 변환 (이동)하고 크기를 조정하려면 대상 좌표와 크기를 찾아야합니다. 짧게 유지하기 위해 지리 참조되었지만 상세하지 않은 Wahlbezirke의 또 다른 GeoJSON이 있었으므로 다음 데이터를 계산하는 데 사용했습니다.

  • 대상 x, y
  • 방금 추출한 벡터와 대상 크기 간의 크기 비율 (xMin, xMax 및 yMin, yMax (QGIS의 레이어 메타 데이터에서 추출)을 사용하여 두 레이어의 x 및 y 방향으로 치수를 얻은 다음 x 및 y 방향의 비율을 계산)

내 경우에는 대략적으로 다음과 같습니다.

target x 3406388
target y 5745290
yratio 118,539696
xratio 118,637678

레이어에서 편집 모드 (연필 아이콘)를 활성화 하고이 숫자를 Affine Transformation 플러그인 (메뉴 벡터, 지오 프로세싱 도구, Affine)에 넣고 "전체 레이어"를 선택하십시오.

아핀 변환

변형을 클릭하고 편집 모드를 비활성화 (및 저장)하면 대략 모든 대상에 노란색 레이어가 생깁니다. 나는 노란 색을 제거하는 방법을 찾지 못했습니다. 더 나은 가시성을 위해 레이어를 제거하고 다시 추가하십시오.

래스터 레이어가 매우 작고 (빨간색 동그라미로 표시된) 다음과 같은보기로 끝날 수 있습니다. 여기에서 확대하십시오. QGIS 2.2 소규모 래스터 레이어 (여기에서 설정을 간과했을 수도 있습니다. 층까지 "도움이되지 않습니다.)

이미 지리 참조 된 레이어를 추가하면 OpenStreetMap 레이어 (OpenLayers 확장을 통해), NRW WMS 등을 사용할 수 있습니다. 벡터가 아직 올바른 위치에 있지 않으므로 편집 모드를 활성화하여 이동 한 다음 피처 이동 도구를 사용하십시오.

QGIS 2.2 이동 기능

이제 폴리 라인 레이어를 만들었습니다. 마지막 단계는이 라인에서 다각형을 만드는 것입니다. 여기서는 설명하지 않겠습니다. 자세한 내용은 여기를 읽으십시오.

결과는 여기를 참조 하십시오 .


자세한 답변을 주셔서 감사합니다.이 문제에 대한 도움을 더 이상 기대하지 않고 프로젝트를 보류 할 것으로 기대했습니다. 나는 여전히 당신의 단계를 복제하는 데 끝나지 않았지만 이것은 내가 필요한 것 같습니다. 나는 당신의 도움 덕분에 마침내 그것을 끝내기를 기대하고 있습니다.
bfncs

QGIS로 편집하는 것은 지루할 수 있고 직관적이지 않습니다 (줌 동작 / 버그 등을 통해 알 수 있듯이 ...) 결과는 Github에서 온라인으로 제공되므로 자유롭게 사용할 수 있습니다 (포스트 끝의 링크) ). 결과 폴리 라인을 아직 다각형으로 변환하지는 않았지만 나중에 그렇게 할 것입니다. 편집 : 방금 172 개의 지구가있는 다른지도가 필요하다는 것을 알았습니다. 33 개의 지구지도 만 변환했습니다.. 죄송합니다 : D
chrki

6

다음은 GCP 포인트와 함께 ogr2ogr을 사용하는 다른 워크 플로입니다.

  1. 위와 같이 svg로 줄을 추출하십시오.
  2. inkscape에로드하고 dxf로 저장
  3. EPSG : 31467을 CRS로 사용하여 QGIS에로드
  4. 주변 도시 경계의 중요한 가장자리에서 두 좌표를 읽습니다.
  5. OSM 편집기 JOSM을 열고 도시 경계의 관계 62591을 다운로드하십시오.
  6. GPX로 저장
  7. 새 QGIS 세션에 테두리를로드하고 프로젝트 CRS를 EPSG : 31467로 설정하십시오.
  8. 위와 같은 점의 좌표를 읽습니다.
  9. GDAL에 대한 다음 배치 파일을 작성하십시오.
ogr2ogr -a_srs EPSG:31467 -gcp 66.2423 264.3829 3397709. 5756806. -gcp 227.530 17.636 3404474. 5746477. -gcp 443.61 153.42 3413517. 5752162. -gcp 456.24 421.97 3414043. 5763404. -gcp 294.56 552.56 3407296. 5768889. stimmbezirke.shp stimmbezirke.dxf

배치를 실행하고 결과 모양 파일을 QGIS에로드하십시오.

여기에 이미지 설명을 입력하십시오

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