GeoPandas / Shapely 면적 및 거리 기능에 사용되는 단위는 무엇입니까?


답변:


15

이 매끈한 형상을 계산하는 직교 평면 시스템을 사용한다 (거리 = 유클리드 거리)

Shapely는 좌표계 변환을 지원하지 않습니다. 둘 이상의 피쳐에 대한 모든 작업은 피쳐가 동일한 데카르트 평면에 존재한다고 가정합니다.

GeoPandasFiona 를 사용 하여지도 제작 변환을 위해 모양 파일 (및 기타) 및 Pyproj 를 읽습니다 .

컬렉션의 벡터 데이터의 좌표 참조 시스템 (CRS)은 읽기 전용 crs 속성을 통해 액세스됩니다.

import fiona
c = fiona.open("test.shp")
print c.crs['units']
m

이 경우 Shapely를 사용하여 객체 사이의 거리 / 면적을 계산하는 단위는 미터입니다.

GeoPandas와 동일

import geopandas as gp
df = gp.GeoDataFrame.from_file('test.shp')
print df.crs['units']
m

즉, crs.unit = degree (예 : WGS84)로 작업하는 경우 모든 계산이 잘못되었습니다. 먼저 레이어를 다시 투영해야합니다 ( 지오 팬더에서 Eastings 및 Northings 투영을 WSG84로 어떻게 변환합니까? )


1
PostGIS에서로드 할 때 변경되는 것이 있습니까? read_postgis결과 데이터 프레임을 호출 할 때 좌표 인 인수 만 속성 으로 사용하여 좌표를 인수로 설정하고 crs있습니다. 속성이 없습니다 crs['units']. 요청을 시도하면 TypeError가 발생합니다.
kuanb

3

지오메트리의 좌표로 표시되는 단위

매끈한 기하학은 직교이며 Lon / Lat 또는 다른 것에 대해 가정하지 않습니다.


0

Geopandas의 경우 GeoDataFrame에 할당 된 좌표 참조 시스템에 따라 다릅니다.

직교 평면의 동일한 단위에 형태가있는 경우, 형태가 CRS 소스를 지원하지 않습니다 .

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