欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

gdal生成json字符串

林子帆1年前8瀏覽0評論

GDAL是一個開源的庫,可以處理各種地理空間數據,并且支持多種數據格式,包括常用的矢量和柵格數據。在GDAL中,可以使用一些命令行工具和API來進行數據處理和轉換操作。其中一個很有用的API是利用GDAL生成JSON字符串。下面我們來看一下如何使用GDAL生成JSON字符串。

import ogr
import json
# 要素轉換為字典
def feature2dict(feature):
geometry = feature.GetGeometryRef()
properties = {}
for i in range(feature.GetFieldCount()):
properties[feature.GetFieldDefnRef(i).GetNameRef()] = feature.GetFieldAsString(i)
return {
"type": "Feature",
"properties": properties,
"geometry": json.loads(geometry.ExportToJson()),
}
# shp文件轉換為GeoJSON
def shp2json(file_path):
features = []
driver = ogr.GetDriverByName("ESRI Shapefile")
dataSource = driver.Open(file_path)
layer = dataSource.GetLayer()
for feature in layer:
features.append(feature2dict(feature))
return json.dumps({"type": "FeatureCollection", "features": features}, ensure_ascii=False)
# 調用shp2json函數生成JSON字符串
json_str = shp2json("example.shp")
print(json_str)

以上代碼中的shp2json函數可以將ESRI Shapefile格式的矢量數據轉換為GeoJSON格式的字符串。在函數中,我們首先使用GDAL打開Shapefile文件,然后將要素逐個轉換為字典,再將字典轉換為GeoJSON格式的字符串。最后將結果保存到JSON字符串中。

在使用GDAL生成JSON字符串時,還要注意一些數據類型轉換的問題。例如,在將幾何體轉換為字典時,必須將其轉換為JSON格式的字符串,才能與屬性一起組成GeoJSON格式的要素。