ArcGIS Desktop

  • Documentación
  • Soporte

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS for Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

Ayuda

  • Inicio
  • Introducción
  • Mapa
  • Analizar
  • Administrar datos
  • Herramientas
  • Más...

Llamadas de función ST_Geometry

  • PostgreSQL
  • Oracle
  • SQLite

Las funciones ST_Geometry en Oracle y PostgreSQL se implementan en un lenguaje estructurado de consultas (SQL). Este es un lenguaje a nivel de la base de datos. En Oracle, es Lenguaje procedural / Lenguaje estructurado de consultas (PL/SQL). En PostgreSQL, es PL/pgSQL.

Cuando se accede a las columnas ST_Geometry en una base de datos de Oracle o PostgreSQL usando funciones de SQL, se accede directamente a la base de datos; por tanto, la base de datos debe tener acceso a las funciones de ST_Geometry. En Oracle, la base de datos también genera un proceso extproc.

En SQLite, las funciones de ST_Geometry se implementan en C en la biblioteca ST_Geometry. Debe acceder a la biblioteca ST_Geometry para usar las funciones de ST_Geometry.

PostgreSQL

La biblioteca st_geometry debe almacenarse en el directorio de instalación de PostgreSQL para permitir que PostgreSQL acceda a las funciones ST_Geometry. Debe copiar el archivo st_geometry.dll (Windows) a la carpeta lib en el directorio de instalación de PostgreSQL. Para los servidores Linux, copie el archivo st_geometry.so (Linux) al directorio /usr/lib/pgsql en el servidor PostgreSQL. Ambos archivos se pueden encontrar en la carpeta DatabaseSupport de su instalación de cliente de ArcGIS.

Oracle

Las funciones se implementan en PL/SQL, que invoca funciones en archivos de biblioteca compartidos externos escritos en el lenguaje de programación C. Las funciones se invocan desde PL/SQL por medio de un alias que asigna el nombre de la biblioteca (ST_SHAPELIB en el caso de ST_Geometry en Oracle) al nombre del archivo de biblioteca. (Consulte la documentación para el comando CREATE LIBRARY de Oracle para obtener más información). La primera vez que se invoca una función de tipo espacial que requiere ST_SHAPELIB, la base de datos solicita al agente de escucha que genere un proceso extproc para la sesión SQL. Se otorga a extproc la ubicación de ST_SHAPELIB, el nombre de la función que se invocará y sus parámetros. El extproc carga ST_SHAPELIB e invoca la función. Cuando la función externa se completa, el extproc devuelve los resultados y permanece activo, a la espera de llamadas de función adicionales durante la sesión. El proceso extproc termina cuando la sesión SQL se desconecta.

Para que esto funcione, se necesita la configuración siguiente:

  • La base de datos debe conocer la ubicación del archivo que contiene a ST_SHAPELIB para que pueda pasar esta información al proceso de escucha y a su vez al extproc.
  • Si file_spec para ST_SHAPELIB en la tabla user_libraries no coincide con la ubicación física del archivo de ST_SHAPELIB en el servidor, los operadores y las funciones de ST_Geometry no funcionarán. Por lo tanto, debe actualizar la definición de biblioteca en las bibliotecas de usuario de Oracle para incluir la ruta de biblioteca correcta del archivo que contiene a ST_SHAPELIB por medio del comando CREATE LIBRARY.
    Nota:

    Alterar la definición de la ruta de la biblioteca invalida los cuerpos de paquete que hacen referencia a la biblioteca; por lo tanto, los cuerpos de paquete de algunos paquetes de procedimientos almacenados por ArcSDE se deben volver a compilar con Oracle.

  • La base de datos debe conocer el servicio que gestiona las solicitudes al extproc. Eso está configurado en el archivo tnsnames.ora.
  • Se debe permitir que el extproc cargue el archivo que contiene a ST_SHAPELIB. Esto se realiza mediante la definición de la variable de entorno EXTPROC_DLLS en el archivo listener.ora (Oracle 10g) o extproc.ora (Oracle 11g).
  • El extproc (que normalmente se ejecuta como el usuario propietario de ORACLE_HOME) debe tener permisos de lectura en la ubicación de los archivos de biblioteca y permisos de ejecución en los archivos.
  • Si modifica el archivo listener.ora, debe reiniciar el listener.

SQLite

Debe designar la ubicación de la biblioteca ST_Geometry y cargarla para que el cliente de SQLite pueda tener acceso a las funciones de SQL. Puede definir la ubicación de la biblioteca en la variable de entorno de sistema PATH (Windows) o LIBPATH (Linux) del cliente y cargar a continuación la biblioteca, o puede especificar la ruta cuando cargue la biblioteca ST_Geometry. Consulte Cargar la biblioteca ST_Geometry de SQLite para obtener instrucciones.

Temas relacionados

  • Configurar Oracle extproc para acceder a la geodatabase con SQL

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

Plataforma ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog interno
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2017 Esri. | Privacidad | Legal