gpt4 book ai didi

python - 创建形状文件

转载 作者:行者123 更新时间:2023-11-28 16:46:46 25 4
gpt4 key购买 nike

我想使用 2 个点创建一个 shapefile(一条线)。

我有以下脚本:

import ogr, sys, os

line=ogr.Geometry(ogr.wkbLineString)
line.AddPoint(10,10)
line.AddPoint(20,20)

driver=ogr.GetDriverByName('ESRI Shapefile')
ds=driver.CreateDataSource('C:\test.shp')
layer=ds.CreateLayer('test', geom_type=ogr.wkbLineString)
fieldDefn=ogr.FieldDefn('id', ogr.OFTInteger)
layer.CreateField(fildDefn)
featureDefn=layer.GetLayerDefn()
feature=ogr.Feature(featureDefn)
feature.SetGeometry(line)
feature.SetField('id',1)
layer.CreateFeature(feature)

我有两个错误..

“错误 1:无法创建 file.shp 文件。错误 4:无法打开 Shapefile”

有人知道问题出在哪里吗?谁能帮我?非常感谢

最佳答案

您忘记通知大地测量系统。以下这种方式有效。

import ogr, sys, os
import osgeo.osr as osr

line=ogr.Geometry(ogr.wkbLineString)
line.AddPoint(10,10)
line.AddPoint(20,20)

driver=ogr.GetDriverByName('ESRI Shapefile')
ds=driver.CreateDataSource('test.shp')

srs = osr.SpatialReference()
srs.ImportFromEPSG(4326)

layer=ds.CreateLayer('test', srs, ogr.wkbLineString)
fieldDefn_=ogr.FieldDefn('id', ogr.OFTInteger)
layer.CreateField(fieldDefn_)
featureDefn=layer.GetLayerDefn()
feature=ogr.Feature(featureDefn)
feature.SetGeometry(line)
feature.SetField('id',1)
layer.CreateFeature(feature)

关于python - 创建形状文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13198391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com