用Python实现,将ORACLE数据库下的表转换为点要素类,并赋予点要素类地理坐标系

将ORACLE数据库下的表转换为点要素类,并赋予点要素类地理坐标系
已邀请:

张国丽

赞同来自:

【解决办法】:
创建数据库连接使用arcpy.CreateDatabaseConnection_management,
将表转换为点,使用arcpy.MakeXYEventLayer_management,在{spatial_reference}中直接附上所需地理坐标系即可。最后使用arcpy.CopyFeatures_management。

代码如下:
import arcpy

sde_name=arcpy.GetParameterAsText(0)
table_name=arcpy.GetParameterAsText(1)
Field_X=arcpy.GetParameterAsText(2)
Field_Y=arcpy.GetParameterAsText(3)
shp_name=arcpy.GetParameterAsText(4)


arcpy.CreateDatabaseConnection_management(arcpy.env.scratchFolder,
sde_name,
ORACLE,
192.168.220.131/orcl,
DATABASE_AUTH,
grmc_sx,
grmc_sx,
SAVE_USERNAME,
#,
#,
#,
#)

arcpy.env.workspace=arcpy.env.scratchFolder+\\+sde_name+.sde

arcpy.MakeXYEventLayer_management(table_name, Field_X, Field_Y, LAYER_MY, 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]];-400 -400 1000000000;-100000 10000;-100000 10000;8.98315284119521E-09;.001;.001;IsHighPrecision, )
arcpy.CopyFeatures_management(LAYER_MY,arcpy.env.scratchFolder+\\+sde_name+.sde+\\SDE.LAYERMY1)

要回复问题请先登录注册