ArcGis Python腳本——批量對影像、要素類定義投影


插個廣告,制作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")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM