Maptitude GISDK Help

User-Defined Coordinate Systems

 

You can create your own coordinate system definitions and make them available in the Projection and Coordinate System dialog box. If the file userprj (with no extension) is in the Maptitude program folder, a User Defined choice will be added to the end of the Class drop-down list on the Coordinate System tab, and the projections and coordinate systems defined in that file will be shown in the System drop-down list. If you make changes to the userprj file, you must restart Maptitude for the changes to take effect. Here is an example of the contents of a userprj file:

 

# User Projections and Coordinate Systems

 

<akred> # Alaska Redistricting

#: ;Alaska;Alaska Redistricting;ft;

proj=aea a=6378137 es=.0066943800229

lon_0=141W lat_0=65N lat_1=55N lat_2=65N

x_0=0 y_0=0

no_defs <>

 

<mycs> # My Coordinate System

#: ;My Coord Sys; ;us-mi;_xx=.01,_xy=0,_yx=0,_yy=.01,_tx=0,_ty=2000

proj=utm ellps=GRS80 zone=11

no_defs <>

 

The structure of this file is quite simple. Anything after a pound (#) sign is a comment, with the exception of the special comment explained below. A zone identifier in angled brackets starts a definition, such as <akred>, and empty angled brackets end a definition. Typically the keyword no_defs appears just before the end, to indicate that the standard values for missing options are not to be used.

 

Inside the definition is the special comment starting with #: that is used for the information in the dialog box, plus some special parameters. It should be the first line after the zone identifier. For example, for the Austria Central Zone, a standard coordinate system:

 

#:Europe;Austria;Central Zone;m;

 

means the class is Europe, the system is Austria, the zone is Central Zone, and the coordinate units default to meters. See Units for the list of available units.

 

Because User Defined is already the class for definitions in userprj, the class is ignored. If there is no zone, you can leave that blank, as in the <mycs> definition. That definition also shows the parameters that you can use to define an extra linear transformation for import and export only, which are applied after the standard projection from longitude/latitude in the following way:

 

xt = x * _xx + y * _xy + _tx

yt = x * _yx + y * _yy + _ty

 

The units of the transformation will be the units specified in the special comment. An alternate and preferred way to do a transformation is to change the default units and use the false easting (x_0) and northing (y_0) options.

 

There are several other parameters you can use to control the use of projections or coordinate systems that should only be used for limited areas:

 

Parameter

Description

_cdist

Restrict the scope to be within _cdist miles of the center of the projection, as measured from the scope's center

_hlimit

Maximum scope height, in miles

_wlimit

Maximum scope width, in miles

_limit

Maximum for both scope height and scope width, in miles

 

Following the special comment are the option strings for the projection or coordinate system:

 

Option String

Description

proj=name

The projection, from the list at Custom Coordinate System. If the projection is not marked as having an inverse, then it cannot be used for importing.

ellps=name

The ellipsoid, for the projections marked as having an elliptical form at Custom Coordinate System. The ellipsoid can also be defined with the a=len (major axis) option string plus the b=len, e=num, es=num, f=num, or rf=num option string.

zone=num

The zone, for coordinate systems that have zones, such as UTM and Gauss-Kruger.

 

The additional option strings are those listed as valid parameters for the projection at Custom Coordinate System. You should not use the units=abbr option string; instead, set the units in the special comment.

 

 

©2025 Caliper Corporation www.caliper.com