首页 > 解决方案 > 从边界框坐标列表创建形状文件

问题描述

关于这个主题的现有问题已经很少,但不幸的是我没有找到可以解决我的问题的东西。

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

  1. 最小多头= 9.75
  2. 最小纬度 = 9.75
  3. 最大多头 = 10.25
  4. 最大纬度 = 10.25

有谁知道如何在 Python 中做到这一点?

标签: pythongisshapefile

解决方案


这是使用 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')

推荐阅读