QGIS Affine 변환을위한 컴퓨팅 파라미터?


15

Dxf2Shp 플러그인을 사용하여 QGIS 의 빈 프로젝트에 추가 한 벡터 평면도 (DXF)가 있습니다.

튜토리얼과 StackExchange 스레드를 읽었지만 레이어를 "지리 참조"하는 방법을 찾지 못하는 것 같습니다.

어떻게 든 건물의 모서리를 선택하고 위도 / 경도를 설정할 수 있다고 가정합니다.

내 목표는 TileMillTileStache 와 함께 사용할 수있는 shapefile을 내보내는 것입니다 .

프로젝트 좌표가 실제로 위도 / 경도 좌표임을 깨달았습니다.

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

CAD 도면을 "배치"하려면 "Affine (Rotation, Translation, Scale)"플러그인을 사용해야합니다.


답변:


2

OpenJump를 사용하여 아핀 변환 파라미터를 계산합니다.

Scale x: 0.02550720529745378
Scale y: 0.025669710194697357
Rotation: -88.6538203230914
Dx: 357101.9 (Translation x)
Dy: 4512814.6 (Translation y)

이 매개 변수를 올바르게 적용하면 셰이프 파일을 사용하는 로컬 CRS에서 WGS84 / UTM Zone 17 North (EPSG : 32617)로 변환해야합니다. QGIS에서는 변환 된 데이터를 필요한 CRS로 내보낼 수 있습니다 ( "다른 이름으로 저장"). 예를 들어 Google Mercator 또는 위도 / 경도.

나쁜 소식은 회전을 포함하는 변환에 QGIS affine 플러그인을 한 번도 성공적으로 사용할 수 없다는 것입니다. 일부 계정에서는 다른 사람들에게는 효과가 있지만 나에게는 효과가 없으므로 내가 잘못하고있는 것이어야합니다. 누구든지 이것이 무엇인지 말해 줄 수 있다면 감사 할 것입니다.

스레드가 있었다 여기 읽고 잘 가치가 벡터를 affining에가. 벡터 연결에 사용하는 방법 은 첫 페이지 하단에 설명되어 있습니다 .

정말로 막히면 shapefile에 대한 링크를 게시 할 수 있으며 우리는 모두 그것을 변형시킬 수 있습니다.

나중에 생각하십시오. OpenJump 방법을 사용하려면 위도 / 경도 포인트에 대한 WGS84 / UTM Zone 17 North (EPSG : 32617) 좌표가 필요합니다.

EPSG:32617: 361154.4 4513930.1
lat/long: 40.764622,-82.645056
shapefile coor: 947.3,1242.8

EPSG:32617: 361152.2 4513850.3
lat/long: 40.763903,-82.645064
shapefile coor: 4050.3,1035.7

EPSG:32617: 361246.5 4513886.7
lat/long: 40.764247,-82.643956
shapefile coor: 2710.5,4765.2

2
QGIS에서 아핀 변환을위한 일관되고 설명하기 쉬운 워크 플로우가 존재하지 않는 것 같습니다. 설명의 포럼 링크가 종료되었습니다. 모든 작업에서이 작업에 OpenJump를 사용하는 방법이 여기 다시 나타납니다. 이것에 대한 업데이트가 있습니까?
Bernd V.

이제 Sextante 툴킷에서 GRASS v.transform을 사용하여 벡터 아핀 변환을 수행 할 수 있습니다. 이에 대한 설명서는 grass.osgeo.org/grass64/manuals/v.transform.html 에서 찾을 수 있지만 실제로는 텍스트 파일의 형식 만 있으면됩니다. N.
nhopton

27

먼저 아핀 변환은 지리적 좌표 시스템에 적용되지 않으므로 지리적 좌표를 직교 2D 좌표 시스템에 투영해야합니다.

제어점 또는 변환 매개 변수에서 아핀 변환을 적용 할 수 있습니다. QGIS 플러그인은 변환 매개 변수를 요구하지만 사용자가 제어점을 갖는 것이 훨씬 일반적입니다.

제어점에서 변환 매개 변수를 계산할 수 있습니다. 아핀 변환에는 6 개의 변환 매개 변수가 있으므로 최소한 3 개의 제어점이 필요합니다 (각 제어점에는 4 개의 좌표 : Xsource, Ysource, Xtarget, Ytarget이 포함됨). 더 많은 제어점은 중복성을 가지므로 적용 할 수 있습니다. 최소 제곱 : 변환 품질을 추정 할 수 있습니다. 아핀 변환은 회전, 이동, 크기 조정 (각 축에 다른 요소를 적용하더라도) 및 기울어 짐을 나타낼 수 있습니다.

제어점은 다음과 같은 형식이어야합니다.

X SOURCE: Xs
Y SOURCE: Ys
X TARGET: Xt
Y TARGET: Yt

매개 변수는 다음과 같습니다.

a: Scale X 
e: Scale Y
d: Rotation X
b: Rotation Y
c: Translation X
f: Translation Y

그리고 우리는 알고 있습니다 :

Xt = X*a + Y*b + c
Yt = X*d + Y*e + f

따라서이 방정식 시스템을 풀어야합니다 (3 개의 제어점).

¦ Xs1 Ys1 1 0 0 0 ¦ | a ¦   ¦ Xt1 ¦
¦ Xs2 Ys2 1 0 0 0 ¦ ¦ b ¦   ¦ Xt2 ¦ 
¦ Xs3 Ys3 1 0 0 0 ¦ ¦ c ¦ = ¦ Xt3 ¦ 
¦ 0 0 0 Xs1 Ys1 1 ¦ ¦ d ¦   ¦ Yt1 ¦ 
¦ 0 0 0 Xs2 Ys2 1 ¦ ¦ e ¦   ¦ Yt2 ¦ 
¦ 0 0 0 Xs3 Ys3 1 ¦ ¦ f ¦   ¦ Yt3 ¦

매개 변수 a, b, c, d, e 및 f를 알 ​​수없는 경우

매개 변수 a, b, c, d, e 및 f를 계산하면 (예 : 이 온라인 방정식 솔버 사용 ) 다음과 같이 QGIS 플러그인 인터페이스에 배치하십시오.

X' = a*x + b*y + c
Y' = d*x + e*y + f

또는:

변형 매개 변수를 정의

이것이 두 가지 질문을 해결한다고 생각합니다.

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