【Python@arcpy】 批量偏移點線面

關注公衆號"seeling_GIS",回覆『前端視頻』,領取前端學習視頻資料

因爲最近在處理一些數據的時候用到 spatial adjustment這個工具,就想着能否通過arcpy來實現整體圖形偏移,目前的代碼只實現了根據一個固定的經緯度差值或者墨卡託差值來做整體偏移

import arcpy
from arcpy import env

env.workspace = r'F:\gisdata\arcpy_test\spatialAdjust'

point = arcpy.Point()
array = arcpy.Array()

with arcpy.da.UpdateCursor('polygon2.shp',['SHAPE@','FID']) as cursor:
    for row in cursor:
        g = row[0]
        for pts in g:
            print list(pts)
            for pt in pts:
                if pt is not None:
                    point.X = pt.X + 0.315567
                    point.Y = pt.Y - 0.055089
                    array.add(point)
        print '%s 數據處理完成'% row[1]

        geometry = arcpy.Polygon(array, arcpy.SpatialReference(4326))
        if g.type==u'polygon':
            array.add(array.getObject(0)) # 最後一個點位和第一個點位相同組合成一個polygon
            geometry  = arcpy.Polygon(array, arcpy.SpatialReference(4326))
        array.removeAll()
        row[0] = geometry
        cursor.updateRow(row)
        print '%s 圖形更新完成' % row[1]


更多內容,歡迎關注公衆號
seeling_GIS

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章