Hi Guys,
I am currently migrating the ArcMap extension to ArcGIS pro extension for my client.
I currently cannot figure out how to get information of projected coordinate system such as central meridian, scale factor similar to arcobject IProjectedCoordinateSystem Interface. Is there anyway to get these properties from ArcGIS Pro sdk spatialreference?
Thank Gintautas Kmieliauskas for your info
Parsing the wkt string is what I am currently doing at the moment. I managed to get these value with regex easily at the moment.
Look like my question is not quite clear.
I want to know whether is there easy way to retrieve those value like how we are able to get from arcobject PCS class library.
Anyway, it seem, these two sdks are quite different.
Hi Than,
For ArcGIS.Core.Geometry.SpatialReference you can use ToXML() method ang then deserialize result string to ProjectedCoordinateSystem or GeographicCoordinateSystem (depending on your spatial reference). Then take from coordinate system variable WKT property. For ArcGIS.core.Internal.CIM.SpatialReference you can just take wkt property.
WKT parser you can find on internet. First what I find :
GitHub - Esri/ogc-crs-wkt-parser: Sample code to implement new OGC WKT specification
Hi Gintautas Kmieliauskas,
I believe you are talking about ArcGIS.Core.Geometry.SpatialReference (ToJson() ) method.
For toxml call I got :
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>ProjectedCoordinateSystem</SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">xsi:</SPAN>type</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">'</SPAN>typens:ProjectedCoordinateSystem<SPAN class="punctuation token">'</SPAN></SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>xsi</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">'</SPAN>http://www.w3.org/2001/XMLSchema-instance<SPAN class="punctuation token">'</SPAN></SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>xs</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">'</SPAN>http://www.w3.org/2001/XMLSchema<SPAN class="punctuation token">'</SPAN></SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>typens</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">'</SPAN>http://www.esri.com/schemas/ArcGIS/2.5.0<SPAN class="punctuation token">'</SPAN></SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>WKT</SPAN><SPAN class="punctuation token">></SPAN></SPAN>PROJCS[<SPAN class="entity token" title=""">"</SPAN>AGD_1966_AMG_Zone_50<SPAN class="entity token" title=""">"</SPAN>,GEOGCS[<SPAN class="entity token" title=""">"</SPAN>GCS_Australian_1966<SPAN class="entity token" title=""">"</SPAN>,DATUM[<SPAN class="entity token" title=""">"</SPAN>D_Australian_1966<SPAN class="entity token" title=""">"</SPAN>,SPHEROID[<SPAN class="entity token" title=""">"</SPAN>Australian<SPAN class="entity token" title=""">"</SPAN>,6378160.0,298.25]],PRIMEM[<SPAN class="entity token" title=""">"</SPAN>Greenwich<SPAN class="entity token" title=""">"</SPAN>,0.0],UNIT[<SPAN class="entity token" title=""">"</SPAN>Degree<SPAN class="entity token" title=""">"</SPAN>,0.0174532925199433]],PROJECTION[<SPAN class="entity token" title=""">"</SPAN>Transverse_Mercator<SPAN class="entity token" title=""">"</SPAN>],PARAMETER[<SPAN class="entity token" title=""">"</SPAN>False_Easting<SPAN class="entity token" title=""">"</SPAN>,500000.0],PARAMETER[<SPAN class="entity token" title=""">"</SPAN>False_Northing<SPAN class="entity token" title=""">"</SPAN>,10000000.0],PARAMETER[<SPAN class="entity token" title=""">"</SPAN>Central_Meridian<SPAN class="entity token" title=""">"</SPAN>,117.0],PARAMETER[<SPAN class="entity token" title=""">"</SPAN>Scale_Factor<SPAN class="entity token" title=""">"</SPAN>,0.9996],PARAMETER[<SPAN class="entity token" title=""">"</SPAN>Latitude_Of_Origin<SPAN class="entity token" title=""">"</SPAN>,0.0],UNIT[<SPAN class="entity token" title=""">"</SPAN>Meter<SPAN class="entity token" title=""">"</SPAN>,1.0],AUTHORITY[<SPAN class="entity token" title=""">"</SPAN>EPSG<SPAN class="entity token" title=""">"</SPAN>,20250]]<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>WKT</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>XOrigin</SPAN><SPAN class="punctuation token">></SPAN></SPAN>-5120900<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>XOrigin</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>YOrigin</SPAN><SPAN class="punctuation token">></SPAN></SPAN>1800<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>YOrigin</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>XYScale</SPAN><SPAN class="punctuation token">></SPAN></SPAN>10000<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>XYScale</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>ZOrigin</SPAN><SPAN class="punctuation token">></SPAN></SPAN>-100000<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>ZOrigin</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>ZScale</SPAN><SPAN class="punctuation token">></SPAN></SPAN>10000<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>ZScale</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>MOrigin</SPAN><SPAN class="punctuation token">></SPAN></SPAN>-100000<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>MOrigin</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>MScale</SPAN><SPAN class="punctuation token">></SPAN></SPAN>10000<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>MScale</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>XYTolerance</SPAN><SPAN class="punctuation token">></SPAN></SPAN>0.001<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>XYTolerance</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>ZTol</SPAN> <SPAN class="attr-name token">erance</SPAN><SPAN class="punctuation token">></SPAN></SPAN>0.001<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>ZTolerance</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>MTolerance</SPAN><SPAN class="punctuation token">></SPAN></SPAN>0.001<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>MTolerance</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>HighPrecision</SPAN><SPAN class="punctuation token">></SPAN></SPAN>true<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>HighPrecision</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>WKID</SPAN><SPAN class="punctuation token">></SPAN></SPAN>20250<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>WKID</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>LatestWKID</SPAN><SPAN class="punctuation token">></SPAN></SPAN>20250<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>LatestWKID</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>ProjectedCoordinateSystem</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN></SPAN>
For ToJson() method call I got:"{\"wkid\":20250,\"latestWkid\":20250}"
For example: If I want central meridian or to check that pcs is Transverse Mercator, I currently need to parse wkt string and get manually at the moment, I can't find build in specific properties at that moment yet.
Or is that in ArcGIS.core.Internal library?..
HI Than,
You can parse them from json or xml string using SpatialReference methods ToXML() or ToJson()
Signed in members can post, follow updates, and more. New here? Register a free account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.