如何在 arcpy 中的要素 Class 内添加具有 XY 坐标的点?
How to add a point with XY coordinates inside a Feature Class in arcpy?
我是 arcpy 的新手,我花了一整天的时间试图弄清楚如何在 arcpy 中的要素 Class 中添加具有 XY 坐标的点。这是我现在拥有的代码:
coordinates = raw_input("Please enter longitude and latitude as floats split by a space: ")
c_split = coordinates.split()
lng = float(c_split[0])
lat = float(c_split[1])
spatial_reference = arcpy.SpatialReference(3857)
arcpy.CreateFeatureclass_management('D:\Documents\GIS_DATA\buildings_sample_8', "center.shp", "POINT", "", "DISABLED", "DISABLED", spatial_reference)
center = "center.shp"
cursor = arcpy.da.InsertCursor('D:\Documents\GIS_DATA\buildings_sample_8\center.shp', ["SHAPE@XY"])
xy = (lng, lat)
cursor.insertRow([xy])
这设法在适当的目录中创建 shapefile center.shp,但我无法将用户输入的经度和纬度值添加到该点,使点出现在默认的 0, 0.
这可能是一个超级简单的问题,但我一直无法在线找到文档。
谢谢!
尝试改变这个:
xy = (lng, lat)
对此:
xy = arcpy.Point(lng, lat)
我猜你的坐标浮点数确实是点 (.) 而不是逗号 (,) 否则你会在尝试创建点时出错(输入值不是数字)。
我是 arcpy 的新手,我花了一整天的时间试图弄清楚如何在 arcpy 中的要素 Class 中添加具有 XY 坐标的点。这是我现在拥有的代码:
coordinates = raw_input("Please enter longitude and latitude as floats split by a space: ")
c_split = coordinates.split()
lng = float(c_split[0])
lat = float(c_split[1])
spatial_reference = arcpy.SpatialReference(3857)
arcpy.CreateFeatureclass_management('D:\Documents\GIS_DATA\buildings_sample_8', "center.shp", "POINT", "", "DISABLED", "DISABLED", spatial_reference)
center = "center.shp"
cursor = arcpy.da.InsertCursor('D:\Documents\GIS_DATA\buildings_sample_8\center.shp', ["SHAPE@XY"])
xy = (lng, lat)
cursor.insertRow([xy])
这设法在适当的目录中创建 shapefile center.shp,但我无法将用户输入的经度和纬度值添加到该点,使点出现在默认的 0, 0.
这可能是一个超级简单的问题,但我一直无法在线找到文档。
谢谢!
尝试改变这个:
xy = (lng, lat)
对此:
xy = arcpy.Point(lng, lat)
我猜你的坐标浮点数确实是点 (.) 而不是逗号 (,) 否则你会在尝试创建点时出错(输入值不是数字)。