QGIS를 사용한 DXF 지리 참조? [복제]


14

나는 자신에게 잘못된 규모의 단위로 만들어진 dxf를 얻었습니다. QGIS에서 어떻게 업 스케일합니까? QGIS에서는 잘못된지도 단위와 위치에서만 열립니다.


qgsAffine 플러그인 사용에 대한 위 의 nhopton의 답변 은 지난 주에만 효과가있었습니다. 나는 내가 원하는 CRS의 1000 배로 확장 된 dxf를 가지고있었습니다. 표준 플러그인으로 dxf를 shp로 변환 한 다음 qgsAffine에서 .001을 곱하여 X와 Y를 변환했으며 문제가 해결되었습니다. PS Belated는 조언에 대해 nhopton에게 감사를 표했습니다. QGIS 포럼이 종료되기 전에 연장하지 못했습니다!
blackthorn

또한 내가 원하는 DXF가 몇 개 있습니다. QGIS 플러그인에 대한 수학을 할 수 없기 때문에 OpenJump를 한 번 사용했습니다. 그러나 결국 DXF로 알려진 투영법으로 SHP 레이어를 저장하고 (무료) QCAD에서 이것을 열고, affining이 필요한 DXF를 가져오고 DXF의 모든 스케일링, 회전 및 이동을 수행하는 것이 더 쉽다는 것을 알았습니다. 모든 것이 제자리에있을 때 DXF로 저장하고 투영을 유지 한 QGIS로 다시 가져 와서 DXF도 적절한 위치와 스케일로 고정되었습니다. 그런 다음 DXF를 SHP로 저장할 수 있습니다.
Melissa

답변:


12

당신은 지리 참조 래스터와 아핀 벡터 :)

QGIS에는 벡터 레이어를 스케일링 할 수있는 아핀 플러그인 (qgsAffine)이 있습니다. 필요한 경우 벡터 레이어의 모든 정점에 x 및 y 오프셋을 적용 할 수도 있습니다. DXF를 모양 파일로 변환하여 사용해야 할 것입니다 (레이어 패널에서 레이어를 마우스 오른쪽 버튼으로 클릭하고 '다른 이름으로 저장 ...'으로 이동하십시오). 벡터 레이어에 회전을 적용하는 것은 약간 더 어렵습니다.


1
다음은 qgsAffine을 사용한 회전에 대한 팁입니다. gis.stackexchange.com/q/21696/1872
Mike T

흠, 나는 그다지 좋아하지 않는 주제에 공헌했다. 그러나 균형을 유지하면서도 여전히 OpenJump 접근 방식을 선호합니다. 7 개의 변환 매개 변수를 모두 계산 한 다음 관심 벡터에 적용합니다. QGIS에서 동일한 작업을 수행하는 데 도움이되는 QGIS GSoC 제안을 보았습니다.
nhopton

그래, 나는 OpenJump 사람들이 사용하고 그것이 무엇인지 볼 훨씬 야바위꾼!
Mike T


3

나는 이것이 QGIS에서 달성 될 수 있다고 믿는다.
그러나 gis 소프트웨어와 함께 cad 소프트웨어를 사용하고 다음을 수행합니다.
어느 쪽이든 dxf에 대한 기본 정보가 필요합니다.
1. dxf의 단위를 알아야합니다.
2. dxf에 알려진 지점이 있어야합니다. (최소 2 점).

1a. 원래 좌표계 (또는 비 시스템)를 식별 할 수있는 경우 유사한 알려진 시스템으로 변환해야합니다.
(도면은 단지 시스템없이 그려 있지만 0,0베이스 시스템은 동일한 영역의 일부 형태를 가정한다. 경우) 중 어느 하나 또는 alambert (커버리지 영역 [크기]에 의존) 알버스
2A. 도면의 모든 항목이 표시되는지 확인하십시오 (레이어가 꺼져 있지 않음).
3a. 모든 기능을 선택하십시오.
4a. 알려진 지점에서 알려진 지점으로 모든 기능을 이동합니다.
5a. 원래의 스케일을 결정한 후, 선택된 모든 객체의 크기를 경험적으로 조정한다
6a. 선택한 모든 개체를 경험적으로 회전시킵니다.
알려진 CRS로 선택한 개체를 저장 및 / 또는 내 보냅니다.


2

GDAL 1.10을 사용하여 수행 할 수도 있습니다. 이 접근 방식은 제어점을 사용하며 스케일링에 관한 것이 아니라 지리 참조에 충분합니다 (dxf가 모든 공간 정보를 잃어버린 경우에 유용합니다).

ogr2ogr에서 기본 변환을 수행하고 -gcp 태그에 제어점을 제공하여 수행됩니다. http://www.gdal.org/ogr2ogr.html

가이드는 QGIS를 사용한 지리 참조 벡터 데이터 를 참조하십시오.


2

QGIS 플러그인에 대한 수학을 할 수 없기 때문에 OpenJump를 한 번 사용했습니다. 그러나 결국 DXF로 알려진 투영법으로 SHP 레이어를 저장하고 (무료) QCAD에서 이것을 열고, affining이 필요한 DXF를 가져오고 DXF의 모든 스케일링, 회전 및 이동을 수행하는 것이 더 쉽다는 것을 알았습니다. 모든 것이 제자리에있을 때 DXF로 저장하고 투영을 유지 한 QGIS로 다시 가져 와서 DXF도 적절한 위치와 스케일로 고정되었습니다. 그런 다음 DXF를 SHP로 저장할 수 있습니다.


2

플러그인 AnotherDXF2Shape 에는 지리 참조 모듈이 포함되어 있습니다. 여기에 이미지 설명을 입력하십시오

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

X 및 Y 오프셋을 통해 DXF의 간단한 변위를 달성 할 수 있습니다. 이것은 CAD / 시스템에서 원래 좌표가 단축되었을 때 유용합니다.

CAD 데이터 세트를위한 월드 파일

월드 (.wld) 파일은 좌표 변환을 설명하는 제어점을 포함하는 텍스트 파일입니다. 세계 파일을 사용하여 지리 참조 정보를 포함하도록 CAD 도면의 특성을 확장 할 수 있습니다. 정보는 링크라고하는 하나 또는 두 개의 변위 벡터를 정의하는 좌표 값으로 저장됩니다. 데이터는 두 개의 행으로 구성된 두 개 또는 네 쌍의 좌표로 구성됩니다. 각 행은 다음 구문을 사용하여 변위 링크를 정의합니다. 각 행의 첫 번째 좌표 쌍은 원본 좌표 (시작 좌표라고도 함)에 해당합니다. 이 값은 CAD 도면에서 알려진 제어점의 x, y 위치를 나타냅니다. 각 행의 두 번째 좌표 쌍은 대상 좌표 (to-coordinate)라고도합니다. 이 값은 지리적 공간에서 새로운 위치를 나타냅니다. 일반적으로 다른 피처 레이어의 참조 점입니다. 출처 : arcgis.com

좌표 변환이 활성화되고 플러그인이 해당 WLD 파일을 찾으면 자동으로 통합되고 DXF 파일이 그에 따라 변환됩니다. 여기에 이미지 설명을 입력하십시오

1-4 개의 동일한 포인트를 통한 변환

CAD 데이터 세트와 유사하게 동일한 점을 통해 변형이 발생합니다. 변환을위한 매개 변수의 수는 주어진 점의 수에 따라 다릅니다. 참고 : 초과 결정에 대한 잔차 출력은 현재 없습니다.


1

가장 빠른 방법은 CAD 소프트웨어를 사용하여 DXF 파일 (스케일 및 크기를 올바른 좌표로)을 수정 한 다음 QGIS에로드하는 것입니다.

물론 QGIS에서 기능을 이동할 수는 있지만 확장 할 수는 없습니다. 도움이 되었기를 바랍니다.

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