在测绘中和地理信息系统中坐标投影的重要性不言而喻。
在Geopandas中是使用 proj4 strings来定义坐标系的,而坐标系的代码编号我们可以在www.spatialreference.org中找到。
在geopandas中坐标系统的可用多种方式引用相同的坐标系,例如WGS84中
1."+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"
2. EPSG codes
3. proj4 string "+init=epsg:4326".
设置投影
当由于某种原因,地理数据具有坐标数据(xy值)时,可能需要设置投影,但是没有关于这些坐标如何引用现实世界中的位置的信息。设置投影是指如何告诉geopandas如何解释坐标。如果未设置CRS,则geopandas几何操作仍将起作用,但是无法进行坐标转换,并且其他软件可能无法正确解释导出的文件。当数据无坐标系统时我们需要设置坐标系统:
GeoDataFrame.crs = {'init' :'epsg:4326'} # 给地理数据设置坐标系,使用的EPSG代码方法。还可以用上述proj4 string 方法,
重新投影
重新投影是将位置表示从一个坐标系更改为另一个坐标系的过程。地球上位置到二维平面的所有投影都是扭曲的,最适合您应用的投影可能与您导入的数据相关的投影不同。在这些情况下,可以使用以下to_crs命令重新投影数据
举例:
import geopandas
world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))
world.crs # 输出结果为{'init': 'epsg:4326'}
ax = world.plot();ax.set_title("WGS84 (lat/lon)")

world = world[(world.name != "Antarctica") & (world.name != "Fr. S. Antarctic Lands")]
world = world.to_crs({'init': 'epsg:3395'}) # 坐标转换为墨卡托投影
ax = world.plot();ax.set_title("Mercator");

浙公网安备 33010602011771号