Python 类型错误:';行字符串';对象是不可编辑的

Python 类型错误:';行字符串';对象是不可编辑的,python,shapefile,shapely,Python,Shapefile,Shapely,我用这样的形状文件创建了一个包含形状的字典 sfWholeStreets = shapefile.Reader(inputFilename) shapesWholeStreets = sfWholeStreets.shapes() recordsWholeStreets = sfWholeStreets.records() recordIndex = 0 for record in recordsWholeStreets: streetName = record[1] feat

我用这样的形状文件创建了一个包含形状的字典

sfWholeStreets = shapefile.Reader(inputFilename)
shapesWholeStreets = sfWholeStreets.shapes()
recordsWholeStreets = sfWholeStreets.records()

recordIndex = 0
for record in recordsWholeStreets:
    streetName = record[1]
    featureWholeStreet = sfWholeStreets.shapeRecords()[recordIndex].shape.__geo_interface__
    linestringShapeWholeStreets = shapely.geometry.shape(feature)
    if streetName in streetDictionary:
        streetDictionary[streetName].append(record)
        streetShapeDictionaryWholeStreets[streetName].append(linestringShapeWholeStreets)
    else:
        streetDictionary[streetName] = [record]
        streetShapeDictionaryWholeStreets[streetName] = [linestringShapeWholeStreets]
    recordIndex = recordIndex + 1
然后,当我尝试将该形状保存到一个新的shapefile(如下所示)时,我在w.line()处得到了TypeError

错误是:

  File "C:/dev/PycharmProjects/myProjectt/main.py", line 429, in <module>
    w.line(streetShapeDictionaryWholeStreets[record['Name']])
  File "C:\OSGeo4W64\apps\Python37\lib\site-packages\shapefile.py", line 1977, in line
    self._shapeparts(parts=lines, shapeType=shapeType)
  File "C:\OSGeo4W64\apps\Python37\lib\site-packages\shapefile.py", line 2066, in _shapeparts
    for point in part:
TypeError: 'LineString' object is not iterable
文件“C:/dev/PycharmProjects/myProjectt/main.py”,第429行,在
w、 行(StreetShapeDictionaryWholettreets[记录['Name']])
文件“C:\OSGeo4W64\apps\Python37\lib\site packages\shapefile.py”,1977行,第行
self.\u形状零件(零件=线,形状类型=形状类型)
文件“C:\OSGeo4W64\apps\Python37\lib\site packages\shapefile.py”,第2066行,在_shapeparts中
关于部分要点:
TypeError:“LineString”对象不可编辑

问题在于,line方法需要点列表,我在文档中忽略了这些点,而是尝试提供ready LineString对象

我认为没有更多信息,任何人都无法真正回答这个问题。
record
streetshapedictionarywhitetreets
a
LineString
对象?添加了更多代码以显示record和streetshapedictionarywhitetreets的来源。StreetShapeDictionaryWhistertreets包含来自输入shapefile的LineString对象。
  File "C:/dev/PycharmProjects/myProjectt/main.py", line 429, in <module>
    w.line(streetShapeDictionaryWholeStreets[record['Name']])
  File "C:\OSGeo4W64\apps\Python37\lib\site-packages\shapefile.py", line 1977, in line
    self._shapeparts(parts=lines, shapeType=shapeType)
  File "C:\OSGeo4W64\apps\Python37\lib\site-packages\shapefile.py", line 2066, in _shapeparts
    for point in part:
TypeError: 'LineString' object is not iterable