geopandas 中的 GIS 距离测量单元
GIS distance measurement unit in geopandas
我根据这个post用geopandas测量了一个点(纬度,经度)到目标边界的GIS距离。我的代码如下。
import geopandas as gpd
from shapely.geometry import LineString, Point
import pandas as pd
TH_borders = gpd.read_file(os.path.join('gadm36_THA_0.shp'))
point = Point(16.7091717,98.572205)
print(point.distance(TH_borders.geometry[0]))
TH_boarders的形状文件(纬度、经度坐标)可以从https://gadm.org/download_country_v3.html获取。以上代码returns结果如下
113.2216551338134
我想知道该结果的度量单位是什么。可以给点建议吗?
地理坐标的单位是度。请注意,使用地理坐标的未校正距离不能准确代表实际距离。您不应按原样使用此计算。
注意:您的坐标显示不正确,应该是 Point(98.52..., 16.709...)。顺序是x(经度),y(纬度); 98 不是有效纬度。
GeoPandas 正在努力在即将发布的版本中为这种情况添加警告,并添加测地线计算以便为这些坐标正确计算距离。
现在,您应该将数据框投影到适当的平面坐标系。参见:https://geopandas.org/projections.html
使用哪种平面投影在很大程度上取决于您的位置和您对准确性的需求。
我根据这个post
import geopandas as gpd
from shapely.geometry import LineString, Point
import pandas as pd
TH_borders = gpd.read_file(os.path.join('gadm36_THA_0.shp'))
point = Point(16.7091717,98.572205)
print(point.distance(TH_borders.geometry[0]))
TH_boarders的形状文件(纬度、经度坐标)可以从https://gadm.org/download_country_v3.html获取。以上代码returns结果如下
113.2216551338134
我想知道该结果的度量单位是什么。可以给点建议吗?
地理坐标的单位是度。请注意,使用地理坐标的未校正距离不能准确代表实际距离。您不应按原样使用此计算。
注意:您的坐标显示不正确,应该是 Point(98.52..., 16.709...)。顺序是x(经度),y(纬度); 98 不是有效纬度。
GeoPandas 正在努力在即将发布的版本中为这种情况添加警告,并添加测地线计算以便为这些坐标正确计算距离。
现在,您应该将数据框投影到适当的平面坐标系。参见:https://geopandas.org/projections.html 使用哪种平面投影在很大程度上取决于您的位置和您对准确性的需求。