前言
之前尝试使用Arcgis软件制作一千米乘一千米的栅格。看了别人的教程,会了;一转头,忘了。
为了方便以后不再做这种低效的重复性的工作,本人主要借鉴了同济大学小旭学长(https://blog.csdn.net/u013410354?type=blog)的数据分析教程,编写了下列代码,并得到了上海市的栅格shp文件。
一、导入库和数据
制作栅格主要基于Python的空间数据处理包——geopandas。对于此包的使用方法,推荐这位大佬的教程:https://www.cnblogs.com/feffery/p/11898190.html
import geopandas as gpd
#导入上海市shp文件
sh = gpd.read_file(r'上海市行政区.shp')
sh = sh.to_crs(epsg='4326')
二、制作栅格
下面是基于球面转平面原理的栅格化代码,这里我们只需要关注栅格划分范围、定义栅格大小这两部分参数,这里我们选择了1000m的栅格大小。
import math
#划定栅格划分范围
lon1 = 120.802230
lon2 = 122.007881
lat1 = 30.691061
lat2 = 31.863747
latStart = min(lat1, lat2);
lonStart = min(lon1, lon2);
#定义栅格大小(单位m)
accuracy = 1000;
#计算栅格的经纬度增加量大小▲Lon和▲Lat
deltaLon = accuracy * 360 / (