3

2 点を使用してシェープファイル (線) を作成したいと考えています。

私は次のスクリプトを持っています:

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)

私は2つのエラーがあります..

「エラー 1: file.shp ファイルの作成に失敗しました。エラー 4: Shapefile のオープンに失敗しました」

問題が何であるかを知っている人はいますか?誰でも私を助けることができますか?どうもありがとう

4

2 に答える 2

1

\t文字を置き換える必要があります。それらは Python 文字列リテラルのタブ文字を意味します。スラッシュを二重にするか、代わりに生の python 文字列を使用します。

ds=driver.CreateDataSource('C:\\test.shp')

また

ds=driver.CreateDataSource(r'C:\test.shp')

(文字列の先頭にある に注意してくださいr)。

于 2012-11-02T15:42:45.473 に答える