|Submitted||Dec 06, 2017|
|Modified||Jul 28, 2020|
|Applies To||ArcGIS GIS Server|
|Server Platform||Windows 2012 R2|
|Client Platform||Windows 2012 R2|
|Status||Not in Current Product Plan|
The PointGeometry object projectAs method generates inconsistent output between ArcGIS Desktop geoprocessing tool and geoprocessing service when projecting from WKID 4236 to WKID 3857.
This is the default projection engine behavior of ArcGIS Desktop and ArcGIS GIS Server, not a geoprocessing service issue. When you use the arcpy function ptGeometry.projectAs(webMercatorSR), there is a second optional parameter transformation_name. This transform name means the datum of a projection. If users provide some value, in addition to re-projecting the outcome coordination (from the first parameter), it also transform the Projection datum (second parameter). On ArcGIS Desktop, when this optional parameter is not given, the default value is none. On ArcGIS GIS Server however, it sets something appropriate for users automatically. This is because the design on ArcGIS GIS Server comes later then ArcGIS Desktop. Also there is no configuration option, such as the Transformation parameter in the Environment GUI of ArcMap, on the server. So projection on the server does that for users instead asking the user to provide it.
If users want a consistent result between ArcGIS Desktop and ArcGIS GIS server, replace the above-mentioned line of code with ptGeometry.projectAs(webMercatorSR, "Hu_Tzu_Shan_To_WGS_1984").