Estoy usando ogr2ogr para sacar características de Oracle y ponerlas en un Archivo GeoDatabase. La FGDB está siendo utilizada por un servicio de mapas activo de ArcGIS Server. Todo esto se hace para el rendimiento / reducir la carga de la DB. Los datos de la base de datos se actualizan cada noche y luego el proceso ogr2ogr se ejecuta para que no se preocupe por los registros de FGDB.
Los datos pueden crecer y reducirse de la noche a la mañana durante la actualización, por lo que necesito que mi FGDB se actualice tanto para eliminar como para añadir características.
Sé que esto es posible si utilizo el programa ogr2ogr's -overwrite
opción, por ejemplo
ogr2ogr --config FGDB_BULK_LOAD YES -f "FileGDB" <path to>.gdb OCI:user/pass@SID -overwrite -nlt LINESTRING -a_srs EPSG:4326 -nln layer_name -sql "select * from src_table"
Pero -overwrite
falla si no detengo primero el servicio de mapas de ArcGIS Server.
Puedo usar -update -append
para actualizar los registros de FGDB mientras el servicio está en marcha, pero esto es "aditivo": se añaden registros pero no se elimina nada.
ogr2ogr --config FGDB_BULK_LOAD YES -f "FileGDB" <path to>.gdb OCI:user/pass@SID -update -append -nlt POINT -a_srs EPSG:4326 -nln layer_name -sql "select * from src_table"
Estoy buscando una manera de
- Truncar la capa FGDB sin eliminarla antes de un
-update -append
o - Cambiar mi comando ogr2ogr para eliminar las características no extraídas de Oracle
También vi este puesto esta página sobre la detención / inicio de los servicios de mapas AGS mediante programación, pero la opción 1 o 2 es mi preferencia, ya que quiero un enfoque que no requiera autenticación / tokens a través de HTTP. Si es necesario puedo traer en Python y tal vez el módulo arcpy.
Cualquier aportación sobre parámetros de GDAL / ogr2ogr que no haya visto todavía y que pueda ayudar sería muy apreciada (o enfoques alternativos, por supuesto).