Hii, Graham Wood, I suggest you to use these codes for creating a custom vertical coordinate system. I hope this will help you. private IVerticalCoordinateSystem CreateVerticalCoordinateSystem() { //Creates a gravity-related vertical coordinate system. //Create the SpatialReferenceFactory to access existing component parts. ISpatialReferenceFactory3 spatialReferenceFactory = new SpatialReferenceEnvironmentClass(); IVerticalDatum verticalDatum = spatialReferenceFactory.CreateVerticalDatum(( int )esriSRVerticalDatumType.esriSRVertDatum_Taranaki); //Because a VCS can be based upon Datum or VerticalDatum, IHVDatum is used //when defining a vertical coordinate system. IHVDatum hvDatum = verticalDatum as IHVDatum; ILinearUnit linearUnit = spatialReferenceFactory.CreateUnit(( int )esriSRUnitType.esriSRUnit_Meter) as ILinearUnit; //The direction is set to -1 and the VerticalShift is set to 40. IVerticalCoordinateSystemEdit verticalCoordinateSystemEdit = new VerticalCoordinateSystemClass(); object name = "New VCoordinateSystem" ; object alias = "VCoordinateSystem alias" ; object abbreviation = "abbr" ; object remarks = "Test for options" ; object usage = "New Zealand" ; object hvDatumObject = hvDatum as object ; object unitObject = linearUnit as object ; object verticalShift = 40 as object ; object positiveDirection = -1 as object ; verticalCoordinateSystemEdit.Define( ref name, ref alias, ref abbreviation, ref remarks, ref usage, ref hvDatumObject, ref unitObject, ref verticalShift, ref positiveDirection); IVerticalCoordinateSystem verticalCoordinateSystem = verticalCoordinateSystemEdit as IVerticalCoordinateSystem; return verticalCoordinateSystem; }
↧