English
Bug Number NIM100236
Submitted Mar 26, 2014 06:16 PM
Modified Sep 06, 2016 06:27 AM
Severity High
Applies To ArcGIS for Desktop
Version Found 10.2.1
Prog Language All
Server Platform
Client Platform
Database N/A
Locale N/A
Status Not in Current Product Plan
Version Fixed
SP Fixed

Bug NIM100236

Synopsis

The IGeographicCoordinateSystemEdit.Define method fails on defined spatial references, and is making the geographic system object with empty properties.


Additional Information

Projecting a point from one GCS to another normalizes coordinates to +-180 range (left longitude + 360)


Alternate Solution

Use the Define method on a new geographic coordinate system object. This does not make the properties blank. Sample Code: Public Sub CustomGCS() 'create a new spatial regernce factory Dim pSRF As ISpatialReferenceFactory2 Set pSRF = New SpatialReferenceEnvironment 'create a new WGS 1984 coordinate system for providing inputs Dim pInPutGC As IGeographicCoordinateSystem2 Set pInPutGC = pSRF.CreateGeographicCoordinateSystem(esriSRGeoCS_WGS1984) 'create a new geographic coridnate system Dim pOutputGC As IGeographicCoordinateSystem2 Dim pGCS As IGeographicCoordinateSystemEdit Set pOutputGC = New GeographicCoordinateSystem 'set the new coordinate system to IGeographicCoordinateSystemEdit to define custom projections Set pGCS = pOutputGC 'Define custom projection by providing inputs pGCS.Define pInPutGC.Name, pInPutGC.Alias, pInPutGC.Abbreviation, pInPutGC.Remarks, pInPutGC.Usage, pSRF.CreateDatum(esriSRDatumType.esriSRDatum_Abidjan1987), pInPutGC.PrimeMeridian, pInPutGC.CoordinateUnit Debug.Print "START" Debug.Print pOutputGC.Name Debug.Print pOutputGC.Abbreviation Debug.Print pOutputGC.Alias Debug.Print pOutputGC.CoordinateUnit.FactoryCode Debug.Print pOutputGC.Datum.FactoryCode Debug.Print pOutputGC.FactoryCode Debug.Print pOutputGC.LeftLongitude(True) Debug.Print pOutputGC.PrimeMeridian.FactoryCode Debug.Print pOutputGC.RightLongitude(True) Debug.Print "END" End Sub