分享

GeoPandas —— lesson4_Managing Projections

 LibraryPKU 2019-09-24

在测绘中和地理信息系统中坐标投影的重要性不言而喻。

Geopandas中是使用 proj4 strings来定义坐标系的,而坐标系的代码编号我们可以在www.中找到。

在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");

    

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多