Answers:
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? )
read_postgis
结果数据框仅具有attribute时crs
,我将坐标设置为参数,这是一个字符串。它没有属性crs['units']
; 尝试请求导致TypeError。