解释 GeoPandas 多边形坐标

特里斯坦·特兰

GeoPandas 网站上的这个官方示例在这里显示了一个示例 geopandas 数据框,其geometry列包含POLYGON坐标:

               BoroName     Shape_Leng    Shape_Area  \
BoroCode
1             Manhattan  359299.096471  6.364715e+08
2                 Bronx  464392.991824  1.186925e+09
3              Brooklyn  741080.523166  1.937479e+09
4                Queens  896344.047763  3.045213e+09
5         Staten Island  330470.010332  1.623820e+09

                                                   geometry
BoroCode
1         MULTIPOLYGON (((981219.0557861328 188655.31579...
2         MULTIPOLYGON (((1012821.805786133 229228.26458...
3         MULTIPOLYGON (((1021176.479003906 151374.79699...
4         MULTIPOLYGON (((1029606.076599121 156073.81420...
5         MULTIPOLYGON (((970217.0223999023 145643.33221...

我是 GeoPandas 的新手。我认为坐标应该遵循 GPS 的 GIS 标准。如果是这样,为什么这些坐标如此之大(以百万计)。它们是否以某种方式扩大了规模?如果有人能解释一下,谢谢。

迈克尔·德尔加多

此 GeoDataFrame 具有投影到特定坐标参考系 (CRS)上的空间数据,该坐标参考系 (CRS)不是纬度/经度。纬度和经度坐标需要对地球形状和参考零点的特定定义——最普遍接受的标准是1984 年世界大地测量系统(又名WGS84aka EPSG:4326)。很多时候,当您加载 shapefile 时,数据将使用 WGS84 编码为纬度/经度。但不总是。

.crs属性提供了有关在编码数据时使用的特定参考系统的更多信息。在此示例中:GeoDataFrameGeoSeries

In [3]: nybb_path = geopandas.datasets.get_path('nybb')
   ...: boros = geopandas.read_file(nybb_path)
   ...: boros.set_index('BoroCode', inplace=True)
   ...: boros.sort_index(inplace=True)
   ...: 

In [4]: boros.crs
Out[4]:
<Derived Projected CRS: EPSG:2263>
Name: NAD83 / New York Long Island (ftUS)
Axis Info [cartesian]:
- X[east]: Easting (US survey foot)
- Y[north]: Northing (US survey foot)
Area of Use:
- name: United States (USA) - New York - counties of Bronx; Kings; Nassau; New York; Queens; Richmond; Suffolk.
- bounds: (-74.26, 40.47, -71.8, 41.3)
Coordinate Operation:
- name: SPCS83 New York Long Island zone (US Survey feet)
- method: Lambert Conic Conformal (2SP)
Datum: North American Datum 1983
- Ellipsoid: GRS 1980
- Prime Meridian: Greenwich

您可以看到,此数据集中的坐标以美国测量英尺为单位,参考北美基准 1983 (NAD83)(因此值较大),并使用Lambert Conic Conformal (2SP)投影进行投影。这种投影具有映射的优势,因为与等矩形投影不同,例如简单地将纬度/经度映射到像素,保形投影将保留角度(因此,例如,无论纬度如何,街道拐角都会看起来像直角)。

您可以使用 更改投影geopandas.GeoDataFrame.to_crsGeoPandas 用于pyproj管理投影 - WGS84 的 proj 语法是"epsg:4326"

In [5]: boros_latlon = boros.to_crs('epsg:4326')

In [6]: boros_latlon.crs
Out[6]: 
<Geographic 2D CRS: EPSG:4326>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

现在,形状表示为纬度/经度

In [7]: boros_latlon
Out[7]: 
               BoroName     Shape_Leng    Shape_Area  \
BoroCode                                               
1             Manhattan  359299.096471  6.364715e+08   
2                 Bronx  464392.991824  1.186925e+09   
3              Brooklyn  741080.523166  1.937479e+09   
4                Queens  896344.047763  3.045213e+09   
5         Staten Island  330470.010332  1.623820e+09   

                                                   geometry  
BoroCode                                                     
1         MULTIPOLYGON (((-74.01093 40.68449, -74.01193 ...  
2         MULTIPOLYGON (((-73.89681 40.79581, -73.89694 ...  
3         MULTIPOLYGON (((-73.86706 40.58209, -73.86769 ...  
4         MULTIPOLYGON (((-73.83668 40.59495, -73.83678 ...  
5         MULTIPOLYGON (((-74.05051 40.56642, -74.05047 ... 

有关更多信息,请参阅geopandas 投影和坐标参考系统指南

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

GeoPandas标签多边形

多边形中的geopandas点

距离 Geopandas 中点最近的多边形

使用 Geopandas 将包含多边形坐标的元组保存到 Shapefile

使用GeoPandas计算其他多边形内部的多边形面积

Geopandas:多边形和点之间的difference()方法

将Geopandas形状多边形转换为geojson

扩展 geopandas 中的多边形,使它们不会相互重叠

用图案而不是颜色Geopandas填充多边形

计算带有Geopandas的多边形的正确面积

在 geopandas 中使用多多边形 shapefile 裁剪 shapefile

Geopandas ImportError:要在geopandas中绘制多边形,必须使用笛卡尔软件包

如何使用geopandas在多边形查询中有效地做点?

在GeoPandas中创建多边形或Shapely(合并为单个几何)

如何将凸包顶点转换为Geopandas多边形

如何使用Python和Geopandas从Geojson文件中找到多边形中的点

使用Geopandas,如何选择不在多边形内的所有点?

将一列多边形从字符串转换为GeoPandas几何

使用 geopandas 计算多边形中所有线段的长度

如何在用geopandas分解地理数据框时填充在创建的多边形中的孔?

pyspark 数据框和多边形(geopandas)之间的空间连接

如何按特定类别对geopandas中的多边形进行分组和联合?

坐标中的多边形

GeoPandas:创建多多边形地理第一部分的形心列表吗?

Python Geopandas-如何聚合(或进行其他一些统计)多边形内的点的值?

当我在不相互接壤的多边形上使用 GeoPandas 中的 .dissolve 函数时会发生什么?

如何找到在Geopandas中与多边形相交的点?

从多边形r提取坐标

如何找到多边形的坐标点?