已经有关于这个话题现有的几个问题,但我很遗憾没有找到的东西,可以解决我的问题...
我有一个点纬度,经度坐标即纬度= 10,长= 10。我想创建该点周围一个0.5度的边界框的形状文件,所以边界框应该如下:
有人知道如何在pyhton中做到这一点吗?
答案 0 :(得分:2)
这是使用整形的大熊猫和大熊猫的一种方法:
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')
答案 1 :(得分:0)
我想增强 Bruno Carballo 的代码。我希望它对你更容易
import geopandas as gpd
import pandas as pd
from shapely.geometry import Polygon
def bbox(long0, lat0, lat1, long1)
return Polygon([[long0, lat0],
[long1,lat0],
[long1,lat1],
[long0, lat1]])
test = bbox(9.75, 9.75, 10.25, 10.25)
gpd.GeoDataFrame(pd.DataFrame(['p1'], columns = ['geom']),
crs = {'init':'epsg:4326'},
geometry = [test]).to_file('poly.shp')