How to use sde.st_transform (Oracle)?

4775
5
10-04-2013 09:29 AM
AllenGuan1
New Contributor II
According to this article, http://resources.arcgis.com/en/help/main/10.1/index.html#/ST_Transform/006z0000009s000000/, to apply file-based CRS transformation in using sde.st_transform function, need to copy the ArcGIS pedata folder to the database server and setup environmental variable PEDATAHOME on the database server. It gives an example for databases on Windows. I am wandering if anybody has done this for SDE database on Linux and what else needs to be done. Does the database instance needs to be rebounced or the listener needs some extra configuration? The st_geometry functions work fine on our system, it is just how we can use file-based CRS transformation, such as from NAD27 to WGS_1984_UTM_Zone_15N with NAD_1927_To_WGS_1984_79_CONUS datum transformation in sde.st_transform function.
0 Kudos
5 Replies
MarcoBoeringa
MVP Regular Contributor
According to this article, http://resources.arcgis.com/en/help/main/10.1/index.html#/ST_Transform/006z0000009s000000/, to apply file-based CRS transformation in using sde.st_transform function, need to copy the ArcGIS pedata folder to the database server and setup environmental variable PEDATAHOME on the database server. It gives an example for databases on Windows. I am wandering if anybody has done this for SDE database on Linux and what else needs to be done. Does the database instance needs to be rebounced or the listener needs some extra configuration?


Reading that link you provided, I doubt any extra configuration is needed compared to a Windows server. It just reads:

"Refer to your operating system documentation for information on how to set an environment variable."

as a special note regarding setting the PEDATAHOME environment variable on any operating system. There is no hint of extra configuration, besides copying the PEDATA folder and its containing files and subfolders as on all systems.

Why don't you give it a try? The Help seems to provide a set of full working pieces of sample codes to test it out and know if it functions under the Transforming data when the source and destination spatial references do not have the same geographic coordinate system (Oracle only) heading.
0 Kudos
VinceAngelo
Esri Esteemed Contributor
The process should be the same, but setting environment variables can't be done
at a server level in Unix, and some of the newer Oracle releases seem to clear the
environment to avoid security pitfalls, so you need to make sure PEDATAHOME is
being set correctly (before the service start request), and that it's still available
when necessary (might need to be set explicitly in the listener files).

- V
0 Kudos
AllenGuan1
New Contributor II
The process should be the same, but setting environment variables can't be done
at a server level in Unix, and some of the newer Oracle releases seem to clear the
environment to avoid security pitfalls, so you need to make sure PEDATAHOME is
being set correctly (before the service start request), and that it's still available
when necessary (might need to be set explicitly in the listener files).

- V


That is exactly my point. Windows and Linux server variables are not set the same way and I want to make sure whether PEDATAHOME needs to be set before the DBA starts the database instance or if it is possible to set it in the listener file (so only need to rebounce the listener without rebouncing the database). I need to know exactly what needs to be done before asking the Linux DBA to do it. We don't have much room to go back and forth with DBA.
0 Kudos
VinceAngelo
Esri Esteemed Contributor
You will certainly need to restart the listener; the need for a database bounce
is less likely. Unfortunately, you can't prototype all possible problems as thought
experiments -- At some point you need to try it in your dev server, and see how
it works out.

- V
0 Kudos
AllenGuan1
New Contributor II
You will certainly need to restart the listener; the need for a database bounce
is less likely. Unfortunately, you can't prototype all possible problems as thought
experiments -- At some point you need to try it in your dev server, and see how
it works out.

- V


Thanks Vince, it seems to me the st_transform function in the cited URL is for ArcSDE 10.1 which allows the the projection to be on a different geographic datum (sde.st_transform (g1 sde.st_geometry, srid integer, geogtran_id integer),  The doc on 10.0 ArcSDE (http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//006z0000009s000000) requires the destination project to be in the same geographic datum as the original one. Our ArcSDE is still in 10.0 so that makes the st_transform not useful in our case. I will test it when moving to 10.1. I like 10.1 much better as it takes EPSG code as SRID.
0 Kudos