python - 从边界框坐标列表创建形状文件
问题描述
关于这个主题的现有问题已经很少,但不幸的是我没有找到可以解决我的问题的东西。
我有一个点 Lat,Long 坐标即 Lat= 10 和 Long = 10。我想在这个点周围创建一个 0.5 度边界框的形状文件,所以边界框应该如下:
- 最小多头= 9.75
- 最小纬度 = 9.75
- 最大多头 = 10.25
- 最大纬度 = 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')
推荐阅读
- sql - 是否可以创建 Azure SQL 数据库主主复制
- python - 在列表中查找总和为目标数字的一对数字
- java - 有没有办法在 android 中刷新 SQLite 数据库文件中的更改?
- java - Eclipse:如何从 Eclipse 配置创建独立服务器
- java - 如何使用 Gradle 命令行参数更改代码变量
- mysql - MySql Count 子句与 where
- arrays - Perl - 从存储在哈希引用中的数组中获取数组值的问题
- c++ - 获取两个不同模板的产品类型
- php - 如何在php中使用htaccess重定向到特定的文件夹/页面
- animation - Update normals of animated skinned mesh in three.js?