Coordinate system conversion question

344
5
02-20-2012 11:45 AM
YidaoCai
New Contributor
I am new to Esri. Please excuse me for my ignorance.

Recently we are exploring the possibility of using ERSI Engine to do coordinate system conversions. We did some preliminary research on the topic, and would like your help on some basic issues. We are using Java.

What we are doing is to convert data points between coordinate systems. We understand that if we know exactly what the input and output coordinate systems are, and the datum shift(s) involved, we can construct a transformation and do the coordinate system conversion.

In our case, the user will supply the EPSG codes (or similar) of the input and output coordinate systems. Since there are potentially hundreds or even thousands of input and output coordinate systems, we do not know the exact transformation available, given a pair of input and output coordinate systems, thus it is practically not possible to construct the transformations manually. So our questions are:

1. Given the input and output coordinate systems, is there a way to construct a transformation that would convert data points from the input coordinate system to the output coordinate system, without knowing the datum shift or transformation by name? Both the input and output can be either geographic or projected coordinate system.

2. Assuming the answer to question 1 is yes. For a given pair of input and output coordinate systems, there might exist multiple sets of transformations, some may be direct, some may go through an intermediate like WGS84. Can we easily filter the transformation by some criteria, like the method (e.g. 7-parameter PVR, Molodensky), error, etc? 

3. Are there some sample codes available?

Our application is Java based, so ideally we would like something in Java.

Thanks.
Tags (2)
0 Kudos
5 Replies
MelitaKennedy
Esri Notable Contributor
... So our questions are:

1. Given the input and output coordinate systems, is there a way to construct a transformation that would convert data points from the input coordinate system to the output coordinate system, without knowing the datum shift or transformation by name? Both the input and output can be either geographic or projected coordinate system.

2. Assuming the answer to question 1 is yes. For a given pair of input and output coordinate systems, there might exist multiple sets of transformations, some may be direct, some may go through an intermediate like WGS84. Can we easily filter the transformation by some criteria, like the method (e.g. 7-parameter PVR, Molodensky), error, etc? 

3. Are there some sample codes available?

Our application is Java based, so ideally we would like something in Java.

Thanks.


We've recently added information into the Esri projection engine to help with this. Given the input/output coordinate systems and an extent, the function will return a sorted list based on data's overlap with the transformation areas of use and accuracies. The areas of use and accuracies aren't available in ArcGIS 10.0. ArcMap and the Project Tool will make use of it in the upcoming version (10.1). The ArcObjects 10.1 geometry library has exposed it through:

SpatialReferenceEnvironment::
STDMETHOD(GetSortedGeoTransformations)(IGeographicCoordinateSystem* pFromGCS, IGeographicCoordinateSystem* pToGCS, IEnvelope* pExtent, IArray** ppGTs);

ppGTs is a pointer to an array pointer in which the address of the array will be stored.  It will be an array of ITransformationPtr entries.

Otherwise, I think you would either have to query the EPSG registry or store the transformation metadata information and process it yourself to find the best available transformation.

Melita
0 Kudos
YidaoCai
New Contributor
That's very good news. Thank you.

In the case when there is no direct datum shift (transformation) available for the input/output coordinate systems specified, will the upcoming 10.1 provide a funtion to construct something going through an intermediate (e.g. WGS84)?
0 Kudos
MelitaKennedy
Esri Notable Contributor
That's very good news. Thank you.

In the case when there is no direct datum shift (transformation) available for the input/output coordinate systems specified, will the upcoming 10.1 provide a funtion to construct something going through an intermediate (e.g. WGS84)?


The method is designed to include two-step transformations, both in the cases where there is no direct transformation and when overall accuracy would be better.

Melita
0 Kudos
YidaoCai
New Contributor
That's great.

BTW, when will 10.1 be released? Can we get a pre-release version?
0 Kudos
MelitaKennedy
Esri Notable Contributor
That's great.

BTW, when will 10.1 be released? Can we get a pre-release version?


No idea! I know for beta clients, prerelease became available this week (the end of last week). I don't know if it's publicly available yet. Check with your local rep or distributor. The final version of 10.1...I believe we're saying Q2, so hopefully sometime before July. I really can't narrow it down any more.

Melita
0 Kudos