Creating a coordsys object – Pitney Bowes MapXtreme User Manual

Page 306

Advertising
background image

Chapter 16: Spatial Objects and Coordinate Systems

Coordinate Systems

MapXtreme v7.1

313

Developer Guide

The CoordSysFactory object contains registered coordinate systems. CoordSys definitions can be
registered by loading one or more XML projection files or by using the RegisterCoordSys, or
RegisterCoordSysInfo methods. Create CoordSys objects from the factory, or code-codespace
(EPSG, SRID), PRJ string, MapBasic string, and other Factory creation methods. There are also
Military Grid Reference System conversion methods in the CoordSys class.

Creating a CoordSys Object

The following sample code shows the creation of CoordSys objects several different ways: using a
MapInfo codespace; through EPSG; as longitude/latitude from a PRJ string; from a MapBasic string;
and through SRID.

VB example:

Public Shared Sub MapInfoGeometryCreateCoordSys()
Dim factory As CoordSysFactory = Session.Current.CoordSysFactory

’ create CoordSys objects from srsName
Dim csysWGS84 As CoordSys = factory.CreateCoordSys("EPSG:4326")
Dim csysNAD83 As CoordSys = factory.CreateCoordSys_

("mapinfo:coordsys 1,74")

Dim csysNAD27 As CoordSys = factory.CreateCoordSys("SRID:8260")

’ create CoordSys objects from code/codeSpace
csysWGS84 = factory.CreateCoordSys("4326", CodeSpace.Epsg)
csysNAD83 = factory.CreateCoordSys("coordsys 1,74", CodeSpace.MapInfo)
csysNAD27 = factory.CreateCoordSys("8260", CodeSpace.Srid)

’ create CoordSys objects from user-defined parameters
Dim dat As Datum = factory.CreateDatum(DatumID.WGS84)
csysWGS84 = factory.CreateCoordSys(CoordSysType.LongLat, _

dat, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, nothing)

dat = factory.CreateDatum(DatumID.NAD83)
csysNAD83 = factory.CreateCoordSys(CoordSysType.LongLat, _

dat, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, nothing)

dat = factory.CreateDatum(DatumID.NAD27ContinentalUS)
csysNAD27 = factory.CreateCoordSys(CoordSysType.LongLat, _

dat, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, nothing)

’ create Long/Lat coordinate system
csysWGS84 = factory.CreateLongLat(DatumID.WGS84)
csysNAD83 = factory.CreateLongLat(DatumID.NAD83)
csysNAD27 = factory.CreateLongLat(DatumID.NAD27ContinentalUS)

’ create from MapBasic string
Dim csysRGF93 As CoordSys = _

factory.CreateFromMapBasicString("CoordSys Earth Projection 3, _
33, ""m"", 3, 46.5, 44, 49, 700000, 6600000")

’ create from PRJ string
csysNAD83 = factory.CreateFromPrjString("1, 74")
Sub

Advertising