Agregar el tipo ST_Geometry a una base de datos de Oracle
Disponible con una licencia Standard o Advanced.
El administrador de la base de datos puede agregar el tipo, subtipo y las funciones de ST_Geometry de Esri a una base de datos de Oracle mediante la herramienta de geoprocesamiento Crear tipo espacial o una secuencia de comandos de Python que llame a la función CreateSpatialType de ArcPy.
Una vez que haya agregado el tipo ST_Geometry a su base de datos, podrá usarlo para almacenar datos espaciales.
Tanto la herramienta como la función crean un usuario denominado sde en la base de datos. El usuario sde posee el tipo ST_Geometry, sus subtipos, funciones y tablas.
Nota:
La biblioteca ST_Geometry necesita el paquete redistribuible de Microsoft Visual C++ (x64) cuando se implementa en un servidor de Microsoft Windows. Consulte Requisitos de ArcGIS para utilizar Oracle para conocer la versión del paquete que se requiere. Si este paquete no está presente en el servidor, descárguelo desde el sitio web de Microsoft e instálelo.
Utilizar la herramienta de geoprocesamiento Crear tipo espacial
Para ejecutar la herramienta de geoprocesamiento Crear tipo espacial con el fin de instalar el tipo ST_Geometry en una base de datos de Oracle, siga estos pasos:
Descargue la biblioteca
st_shapelib(Windows) olibst_shapelib(Linux) de My Esri y muévala a una ubicación en el servidor de Oracle.Utilice la biblioteca apropiada para el sistema operativo del servidor de Oracle.
El directorio en el servidor donde se coloca la biblioteca debe ser accesible desde el cliente el equipo en que ejecute la herramienta Crear tipo espacial o el script. Si coloca la biblioteca en un equipo UNIX o Linux, asegúrese de que el administrador de base de datos tiene acceso de lectura al directorio y privilegios para ejecutar el archivo de biblioteca.
Si la opción de descarga no está presente, póngase en contacto con el administrador de su organización de ArcGIS.
Abra un proyecto en ArcGIS Pro, abra el panel Catálogo y conéctese a la base de datos como administrador de base de datos sys de Oracle.
Se crea un archivo de conexión a la base de datos (
.sde) en la carpeta de su proyecto.Abra la herramienta de geoprocesamiento Crear tipo espacial.
Puede utilizar la ventana Buscar para buscar la herramienta o abrir la herramienta desde el conjunto de herramientas Espacio de trabajo de la caja de herramientas Administración de datos.
Agregue la conexión de base de datos que creó en el paso 2 al cuadro de texto del parámetro Conexión a la base de datos de entrada.
Introduzca la contraseña del usuario de la base de datos sde en el cuadro de texto del parámetro Contraseña de usuario SDE.
Opcionalmente, en el cuadro de texto del parámetro Nombre del espacio de tabla, proporcione el nombre de un espacio de tabla que se utilizará como espacio de tabla predeterminado del usuario sde.
La herramienta Crear tipo espacial crea un espacio de tablas de 400 MB en la ubicación de almacenamiento predeterminada de Oracle. Para controlar dónde se ubica el espacio de tablas o el tamaño del espacio de tabla, cree el espacio de tabla en Oracle primero y especifique el espacio de tabla existente en el parámetro Nombre de espacio de tabla. La herramienta establecerá este espacio de tabla preexistente como el valor predeterminado para el usuario sde.
Para el parámetro ST_Geometry Shape Library Path, proporcione la ruta al directorio del servidor de Oracle donde ha colocado el archivo
libst_shapelib.soost_shapelib.dll, incluyendo el nombre del archivo.Por ejemplo, si ha colocado el archivo
libst_shapelib.soen el directoriolibrarieso un servidor Linux llamado boxy, escribirá /boxy/libraries/libst_shapelib.so.Haga clic en Ejecutar.
El tipo ST_Geometry, sus subtipos y funciones se crean en el esquema del usuario sde y se hace una entrada en Oracle para la biblioteca de formas.
Si tiene intención de utilizar la función ST_Transform para realizar transformaciones geográficas, debe copiar la carpeta pedata desde el directorio de instalación de ArcGIS Pro, colocarla en el servidor de Oracle y establecer una variable de entorno PEDATAHOME en el servidor que señala esa ubicación.
Utilizar funciones de ArcPy
En cualquier equipo de ArcGIS Pro o ArcGIS Server, utilice la función CreateDatabaseConnection de ArcPy para crear un archivo de conexión de base de datos (.sde) que se conecta a la base de datos de Oracle como el usuario del sistema Oracle. A continuación, utilice el archivo .sde y la función CreateSpatialType de ArcPy para crear el tipo, subtipo y funciones de ST_Geometry de Esri en la base de datos.
Descargue la biblioteca
st_shapelib(Windows) olibst_shapelib(Linux) de My Esri y muévala a una ubicación en el servidor de Oracle.Asegúrese de utilizar la biblioteca apropiada para el sistema operativo del servidor de Oracle.
El directorio en el servidor donde se coloca la biblioteca debe ser accesible desde el cliente el equipo en que ejecute el script. Si coloca la biblioteca en un equipo UNIX o Linux, asegúrese de que el administrador de base de datos tiene acceso de lectura al directorio y privilegios para ejecutar el archivo de biblioteca.
Ejecute la función
CreateDatabaseConnectionpara crear el archivo.sde.Debe conectarte como usuario del sistema Oracle y debe guardar las credenciales.
En el ejemplo siguiente, el archivo de conexión, denominado dbadminconnection, se crea en un directorio denominado TempFiles. La instancia de Oracle es oserve, y las credenciales de usuario del sistema se proporcionan y guardan con el archivo.
import arcpy arcpy.management.CreateDatabaseConnection( "/user/TempFiles", "dbadminconnection.sde", "ORACLE", "oserve/ORCL", "DATABASE_AUTH", "sys", "D0B3tt3r", "SAVE_USERNAME" )Ejecute la función
CreateSpatialTypede ArcPy para instalar el tipo ST_Geometry en la base de datos de Oracle.En este ejemplo, se utiliza el archivo de conexión del paso anterior. La contraseña y el espacio de tabla se proporcionan al usuario sde (pw0rd4sde y sdetblsp respectivamente). Se especifica la ubicación de la biblioteca ST_Geometry.
import arcpy arcpy.management.CreateSpatialType( "suserconnection.sde", "pw0rd4sde", "sdetblsp", "/net/oserve/ora/shape/libst_shapelib.so" )
El tipo ST_Geometry, sus subtipos y funciones se crean en el esquema del usuario sde y se hace una entrada en Oracle para la biblioteca de formas.
Si tiene intención de utilizar la función ST_Transform para realizar transformaciones geográficas, debe copiar la carpeta pedata desde el directorio de instalación de ArcGIS Pro, colocarla en el servidor de Oracle y establecer una variable de entorno PEDATAHOME en el servidor que señala esa ubicación.