如何解决大叶地图上的正方形网格
我有来自 kml 文件的区域,我需要生成覆盖该区域的 500x500m 方块。我试过这个: https://www.jpytr.com/post/analysinggeographicdatawithfolium/ 但我只能添加或减去没有设置确切正方形大小的行和列。有人可以帮我吗?
gdf = gpd.read_file('doc.kml',driver = 'KML')
def get_geojson_grid(upper_right,lower_left,step):
all_Boxex = []
lat_step = np.linspace(lower_left[0],upper_right[0],3)
lon_step = np.linspace(lower_left[1],upper_right[1],3)
lat_stride = lat_step[1] - lat_step[0]
lon_stride = lon_step[1] - lon_step[0]
for lat in lat_step[:-1]:
for lon in lon_step[:-1]:
upper_left = [lon,lat + lat_stride]
upper_right = [lon + lon_stride,lat + lat_stride]
lower_right = [lon + lon_stride,lat]
lower_left = [lon,lat]
coordinates = [
upper_left,upper_right,lower_right,upper_left
]
geo_json = {'type': 'FeatureCollection','properties':{
'lower_left': lower_left,'upper_right': upper_right,},'features':[]}
grid_feature = {
'type':'Feature','geometry':{
'type':'polygon','coordinates': [coordinates],}
}
geo_json['features'].append(grid_feature)
all_Boxex.append(geo_json)
return all_Boxex
p0 = gdf.centroid #central point for view location in folium map
ymin,xmin,ymax,xmax = gdf.total_bounds
lower_left,upper_right = [xmin,ymin],[xmax,ymax]
m = folium.Map(location=[p0.y,p0.x],zoom_start=14,tiles='CartoDB positron')
grid = get_geojson_grid(upper_right,lower_left)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。