2 votos

Usando transformaciones alternativas en PostGIS en Amazon RDS

Estoy tratando de aplicar el consejo en el blog de George MacKerron sobre Usando la transformación OSTN02 en PostGIS sin embargo estoy utilizando el servicio Amazon RDS donde no tengo acceso al sistema de archivos subyacente. ¿Alguna recomendación sobre si / cómo es posible o una solución alternativa para aplicar transformaciones más precisas del British National Grid a WGS84?

3voto

Mark V Puntos 16

Entonces, esta no es exactamente la solución que estaba buscando, pero parece ser una solución alternativa sólida. La mayoría de los conjuntos de datos con los que trabajo se suministran en formato de archivo, shape o fgdb y utilizo el ogr2ogr y OSTN02 como se describe aquí. Para datos de puntos en CSV creo un archivo vrt y uso ogr2ogr siguiendo el consejo aquí. Ocasionalmente obtengo datos como un archivo de volcado de postgis en BNG, después de muchos intentos descubrí que ogr2ogr aceptará tanto la entrada como la salida como postgis y esto funciona realmente bien. En una instancia de EC2 en la misma región que mi RDS me conecto a la base de datos fuente con ogr2ogr, apunto a un archivo de transformación local en la instancia de EC2 y luego doy una tabla de destino en la misma DB y parece funcionar realmente bien y de manera bastante rápida. Una base de datos de polígonos a escala de GB de contornos de edificios procesados en un par de horas.

El código que usé es el siguiente:

ogr2ogr \
  -f PostgreSQL -s_srs "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.999601 +x_0=400000 +y_0=-100000 +ellps=airy +units=m +no_defs +nadgrids=~/ostn02/OSTN02_NTv2.gsb" -t_srs EPSG:27700 \
  -lco schema=MI_ESQUEMA -lco precision=NO -lco create_schema=off -nln TABLA_A_CREAR -lco overwrite=yes \
  -lco geometry_name=geom PG:'dbname=staging' PG:'dbname=staging' TABLA_A_CONVERTIR -lco --config PG_USE_COPY YES \
  -progress

No es una solución perfecta, pero una buena solución alternativa.

1voto

CMB Puntos 1075

Estoy buscando exactamente el mismo escenario y aún no he encontrado una solución alternativa pura para RDS. Podría valer la pena presentar una solicitud de función al respecto, pero imagino que será de baja prioridad (¡mira cuánto tiempo tomó para que pg_routing estuviera disponible!)

La única solución práctica alternativa que he encontrado hasta ahora es reproyectar los datos antes de la ingestión. Actualmente estoy haciendo esto sobre la marcha en python mientras inserto (ya que necesito todo en mercator web de todos modos para esta aplicación) pero probablemente configuraré un contenedor de docker que descargue e instale automáticamente las cuadrículas de cambio de datum OSTN02 y OSTN15 en los próximos días para facilitar un poco las cosas en el futuro.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X