插個廣告,制作ArcGIS的Tool工具學習下面的教程就對了:
零基礎學習Python制作ArcGIS自定義工具觀看鏈接
《零基礎學習Python制作ArcGIS自定義工具》課程簡介
這一段是批量定義要素類(FeatureClasses)投影的ArcPy代碼:
把要處理的要素類塞進一個文件夾(工作空間,workspace),然后將代碼開頭的路徑換成這個“文件夾”的路徑,處理完后再做其他處理(比如批量塞回原來文件夾,vba,python啥的代碼、小工具處理即可)。
define coordinate system那里把坐標系信息改為自己需要定義的坐標系信息。不知道哪兒獲取?先定義好一個Shpfile的投影信息,然后把它的.prj文件用記事本打開。
import arcpy # set environment workspace arcpy.env.workspace=r"C:\Users\Administrator\Desktop\ArcCode\新建文件夾" # get files clses = arcpy.ListFeatureClasses() # define coordinate system Coordinate_System = "PROJCS['CGCS2000_3_Degree_GK_CM_114E',GEOGCS['GCS_China_Geodetic_Coordinate_System_2000',DATUM['D_China_2000',SPHEROID['CGCS2000',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Gauss_Kruger'],PARAMETER['False_Easting',500000.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',114.0],PARAMETER['Scale_Factor',1.0],PARAMETER['Latitude_Of_Origin',0.0],UNIT['Meter',1.0]]" # code source: https://www.cnblogs.com/yzhyingcool/
# QQ:975601416 for cls in clses: print str(cls) arcpy.DefineProjection_management(cls, Coordinate_System) print("OK")
這是一段批量定義影像投影的Arcpy代碼:
影像圖片格式:代碼中定義為tif格式,其他格式自行更改。
基本設置如上,不復述。
import arcpy # set environment workspace arcpy.env.workspace=r"C:\Users\Administrator\Desktop\新建文件夾" # get files rasters = arcpy.ListRasters("*", "tif") # define coordinate system Coordinate_System = "PROJCS['CGCS2000_3_Degree_GK_CM_114E',GEOGCS['GCS_China_Geodetic_Coordinate_System_2000',DATUM['D_China_2000',SPHEROID['CGCS2000',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Gauss_Kruger'],PARAMETER['False_Easting',500000.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',114.0],PARAMETER['Scale_Factor',1.0],PARAMETER['Latitude_Of_Origin',0.0],UNIT['Meter',1.0]]" #code source: https://www.cnblogs.com/yzhyingcool/ QQ:975601416 for ras in rasters: print str(ras) arcpy.DefineProjection_management(ras, Coordinate_System) print("OK")