Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python文件中从一个多边形移动到另一个多边形?_Python_Points_Arcpy - Fatal编程技术网

如何在python文件中从一个多边形移动到另一个多边形?

如何在python文件中从一个多边形移动到另一个多边形?,python,points,arcpy,Python,Points,Arcpy,shp中有3个多边形。文件 需要找到每个的最小/最大坐标。 到下一步,我只能完成1次: import arcpy # csv from arcpy import env print "Creating and defining variables." env.workspace = r"C:\Users\Desktop\data" env.overwriteOutput = 1 theme = 'interestAreas.shp' # Look for .next() in Searc

shp中有3个多边形。文件

需要找到每个的最小/最大坐标。 到下一步,我只能完成1次:

import arcpy # csv
from arcpy import env

print "Creating and defining variables."
env.workspace = r"C:\Users\Desktop\data"
env.overwriteOutput = 1

theme = 'interestAreas.shp' 
# Look for .next()  in SearchCursor, need a loop
# the same when we read line by line
for i in theme:
    Curs = arcpy.da.SearchCursor(theme, 'SHAPE@').next()
    polygon = Curs[0]
    ext = polygon.extent
del Curs

# Find min X, Y and max X, Y for each polygon and write it to the file:
print 'xmin is: ', ext.XMin
print 'ymin is: ', ext.YMin
print 'xmax is: ', ext.XMax
print 'ymax is: ', ext.YMax
minX = ext.XMin
minY = ext.YMin
如何使用arcpy和loop for或while来实现这一点? 或者如何通过多边形的ID(1,2,3)移动


谢谢您的帮助。

我不太习惯python,但每种语言的逻辑基本相同。。。您可能应该这样做(可能有一些小的语法错误):


我不太习惯python,但每种语言的逻辑基本相同。。。您可能应该这样做(可能有一些小的语法错误):


您的原始代码非常接近。您只需要移动并重新调整
for
循环,以在光标上迭代,而不是在shapefile上。我还建议对游标对象使用
,这样您就不需要管理它了

import arcpy # csv
from arcpy import env

print "Creating and defining variables."
env.workspace = r"C:\Users\Desktop\data"
env.overwriteOutput = 1

theme = 'interestAreas.shp' 
with arcpy.da.SearchCursor(theme, ['SHAPE@']) as Curs:
    for i in Curs: # iterate through the rows in the cursor object
        polygon = i[0]
        ext = polygon.extent

        # Find min X, Y and max X, Y for each polygon and write it to the file:
        print 'xmin is: ', ext.XMin
        print 'ymin is: ', ext.YMin
        print 'xmax is: ', ext.XMax
        print 'ymax is: ', ext.YMax
        minX = ext.XMin
        minY = ext.YMin

您的原始代码非常接近。您只需要移动并重新调整
for
循环,以在光标上迭代,而不是在shapefile上。我还建议对游标对象使用
,这样您就不需要管理它了

import arcpy # csv
from arcpy import env

print "Creating and defining variables."
env.workspace = r"C:\Users\Desktop\data"
env.overwriteOutput = 1

theme = 'interestAreas.shp' 
with arcpy.da.SearchCursor(theme, ['SHAPE@']) as Curs:
    for i in Curs: # iterate through the rows in the cursor object
        polygon = i[0]
        ext = polygon.extent

        # Find min X, Y and max X, Y for each polygon and write it to the file:
        print 'xmin is: ', ext.XMin
        print 'ymin is: ', ext.YMin
        print 'xmax is: ', ext.XMax
        print 'ymax is: ', ext.YMax
        minX = ext.XMin
        minY = ext.YMin