【问题标题】:Update cursor command for ArcGIS updating coordinates, but coordinate location is not updating?ArcGIS 更新坐标的更新光标命令,但坐标位置未更新?
【发布时间】:2013-08-08 18:18:03
【问题描述】:

我正在编写一个脚本来允许用户输入坐标来更新一个点的位置。

 rows = arcpy.UpdateCursor("C:\Users\Hannah\Desktop\Marcellus Shale data\GDB and Maps\Marcellus.gdb\Marcellus_Wells\Update_Cursor")
for row in rows:
    row.Latitude = float(raw_input('Latitude: '))
    rows.updateRow(row)
del row
del rows

rows = arcpy.UpdateCursor("C:\Users\Hannah\Desktop\Marcellus Shale data\GDB and Maps\Marcellus.gdb\Marcellus_Wells\Update_Cursor")
for row in rows:
    row.Longitude = float(raw_input('Longitude: '))
    rows.updateRow(row)
del row
del rows


inFeatures = ["C:\Users\Hannah\Desktop\Marcellus Shale data\GDB and Maps\Marcellus.gdb\Marcellus_Wells\Update_Cursor"]
outLocation = "C:\Users\Hannah\Desktop\Marcellus Shale data\GDB and Maps\Database Script\Shapefiles"
arcpy.FeatureClassToShapefile_conversion(inFeatures, outLocation)

脚本“有效”;也就是说,我最后创建的 shapefile 包含新坐标来代替旧坐标。但是,当我将新 shapefile 拖入 ArcMap 屏幕时,该点会转到旧坐标的位置,即使属性表显示的是新坐标。

有什么想法吗?谢谢!

【问题讨论】:

    标签: python gis arcgis arcpy


    【解决方案1】:

    您正在更新纬度和经度字段,而不是实际的几何图形。要更新记录的几何图形,您需要创建一个新的点对象并将其存储在 shape 字段中。

    rows = arcpy.UpdateCursor("C:\Users\Hannah\Desktop\Marcellus Shale data\GDB and Maps\Marcellus.gdb\Marcellus_Wells\Update_Cursor")
    for row in rows:
        point = new arcpy.point()
        latitude = float(raw_input('Latitude: '))
        longitude = float(raw_input('Longitude: '))
        row.Latitude = latitude
        row.Longitude = longitude
        point.Y = latitude
        point.X = longitude        
        pointGeometry = arcpy.PointGeometry(point)
        row.setValue('SHAPE', pointGeometry)
        rows.updateRow(row)
    del row
    del rows
    

    这应该让你非常接近。如果可能,您应该使用data access cursors。它们更快更容易使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 2013-07-15
      • 1970-01-01
      相关资源
      最近更新 更多