从边界框坐标列表创建形状文件

2022-03-23 00:00:00 python gis shapefile

问题描述

关于此主题的现有问题已经很少,但很遗憾,我找不到可以解决我的问题的方法。

我有一个点Lat,Long坐标,即Lat=10,Long=10。我想在该点周围创建0.5度边框的形状文件,因此边框应该如下所示:

  1. 最小长度=9.75
  2. 最小LAT=9.75
  3. 最大长度=10.25
  4. 最大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')

相关文章