使用python实现渔网创建
使用python实现渔网创建
from shapely.geometry import Polygon
import geopandas as gpddef Fishnet(boundary,cell_height,cell_width) -> None:# 渔网多边形# boundary = gpd.read_file("boundary.shp")xmin, ymin, xmax, ymax = boundary.total_boundsrows = int((ymax - ymin) / cell_height)cols = int((xmax - xmin) / cell_width)polygons = []for x in range(cols):for y in range(rows):polygons.append(Polygon([(xmin + x * cell_width, ymin + y * cell_height),(xmin + (x + 1) * cell_width, ymin + y * cell_height),(xmin + (x + 1) * cell_width, ymin + (y + 1) * cell_height),(xmin + x * cell_width, ymin + (y + 1) * cell_height)]))fishnet = gpd.GeoDataFrame(geometry=polygons, crs=boundary.crs)# 计算渔网中心点fishnet["center"] = fishnet.centroidfishnet = fishnet.set_geometry("center")# 设置新的crs为4326fishnet = fishnet.to_crs(epsg=4326)fishnet = fishnet.drop('geometry',axis =1)return fishnet
注意: boundary需要投影。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
