GeoPandas / Shapely区域和距离功能使用什么单位?


13

它看起来像一个愚蠢的问题,但我找不到明确的答案:地理p /形状的哪些单位用于计算物体之间的距离/面积?

Answers:


15

Shapely使用笛卡尔平面系统来计算几何形状(距离=欧几里得距离)

Shapely不支持坐标系转换。对两个或多个特征的所有操作都假定这些特征存在于同一笛卡尔平面中。

GeoPandas使用Fiona读取shapefile(和其他文件),并使用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 =度(WGS84例如)所有计算都工作wrong.You必须首先重新投影您层(如何转换的东进与北进投影WSG84在geopandas?


1
从PostGIS加载时,有什么变化吗?当调用read_postgis结果数据框仅具有attribute时crs,我将坐标设置为参数,这是一个字符串。它没有属性crs['units']; 尝试请求导致TypeError。
kuanb

3

几何中的坐标表示的单位是哪个。

匀称的几何形状是笛卡尔坐标,不假设其是朗/拉特或其他任何形式。


0

对于Geopandas,它取决于为GeoDataFrame分配的坐标参考系统。

由于形状在笛卡尔平面的相同单位中,形状不支持CRS

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.