Like Ellipsoid collections, horizontal datum collections
are read from XML files containing the definitions. The DTD for these
definition files is as follows:
<!DOCTYPE datum-list [
<!ELEMENT datum EMPTY>
<!ATTLIST datum
name CDATA #REQUIRED
region CDATA #IMPLIED
ellipsoid CDATA #REQUIRED
dx CDATA #REQUIRED
dy CDATA #REQUIRED
dz CDATA #REQUIRED
ex CDATA #IMPLIED
ey CDATA #IMPLIED
ez CDATA #IMPLIED
ppm CDATA #IMPLIED
>
<!ELEMENT datum-ref EMPTY>
<!ATTLIST datum-ref
ref CDATA #REQUIRED
id CDATA #REQUIRED
>
<!ELEMENT datum-list (datum|datum-ref)* >
]>
In a horizontal datum definition file, you can find:
A horizontal datum
Defined by its name and its parameters. The required
parameters are the ellipsoid to be used with this datum and the three-axis
shifts dx, dy and dz. Note that you can define the parameters for
seven-parameter datums, but the ex, ey, ez and ppm fields are not
used in the current version of JViews Maps.
An alias for a horizontal datum
Defined in the kernel collection of Maps. For an alias,
the required information is the id
of the
datum and the reference of the datum. When retrieving a datum alias
from a collection, the datum is searched for using its id
as
a key, while the name of the returned datum is the one defined in
the kernel collection.
The following XML file defines the Afgooye datum, while setting an alias
for the NAD 27 datum
<datum-list>
<datum name="Afgooye"
region="Somalia"
ellipsoid="krass"
dx="-43"
dy="-163"
dz="-45"
/>
<datum-ref id="NAD27"
ref="NAD27 (CONUS)"
/>
</datum-list>
Note
JViews Maps comes with a default list of datums.
Over time, many datums were tuned for given regions of use, while
keeping the same name. This causes many datums to have the same name
but different parameters. In applications where strict conformance
to some datums is needed, you should use your own datum definition
instead of relying on the list provided in JViews Maps.