从边界框坐标列表创建形状文件
问题描述
关于此主题的现有问题已经很少,但很遗憾,我找不到可以解决我的问题的方法。
我有一个点Lat,Long坐标,即Lat=10,Long=10。我想在该点周围创建0.5度边框的形状文件,因此边框应该如下所示:
- 最小长度=9.75
- 最小LAT=9.75
- 最大长度=10.25
- 最大LAT=10.25
有人知道如何在Python中执行此操作吗?
解决方案
这里有一个使用Shapely、Geopandas和Pandas的方法:
import geopandas as gpd
import pandas as pd
from shapely.geometry import Polygon
def bbox(lat,lng, margin):
return Polygon([[lng-margin, lat-margin],[lng-margin, lat+margin],
[lng+margin,lat+margin],[lng+margin,lat-margin]])
gpd.GeoDataFrame(pd.DataFrame(['p1'], columns = ['geom']),
crs = {'init':'epsg:4326'},
geometry = [bbox(10,10, 0.25)]).to_file('poly.shp')
相关文章