Una forma rápida de cargar el Archivo de direcciones nacionales geocodificadas de Australia (GNAF) completo y los límites administrativos australianos en Postgres, simplificado y listo para usar como datos de referencia para geocodificación, análisis, visualización y agregación.
Eche un vistazo a estas diapositivas de introducción (PDF), así como a la página data.gov.au.
La ejecución del script Python tarda entre 30 y 120 minutos en un servidor Postgres configurado para aprovechar la RAM disponible.
Puede procesar la versión GDA94 o GDA2020 de los datos; solo asegúrese de descargar la misma versión tanto para GNAF como para los límites administrativos. Si no sabe qué es GDA94 o GDA2020, descargue las versiones de GDA94 (para su información, son sistemas de coordenadas diferentes)
Para obtener un buen tiempo de carga, necesitará configurar su servidor Postgres para el rendimiento. Hay una buena guía aquí, teniendo en cuenta que tiene algunos años y que algunos de los parámetros de la memoria se pueden reforzar si tiene RAM.
CREATE EXTENSION postgis
-h
(consulte los ejemplos de línea de comando a continuación)El comportamiento de gnaf-loader se puede controlar especificando varias opciones de línea de comando en el script. Los argumentos apoyados son:
--gnaf-tables-path
especifica la ruta a los archivos GNAF PSV extraídos. El servidor Postgres debe poder acceder a este directorio y es posible que sea necesario establecer la ruta local correspondiente para el servidor a este directorio a través del argumento local-server-dir
--local-server-dir
especifica la ruta local en el servidor Postgres correspondiente a gnaf-tables-path
. Si el servidor se ejecuta localmente, este argumento se puede omitir.--admin-bdys-path
especifica la ruta a los archivos de límites de administración de Shapefile extraídos. A diferencia de gnaf-tables-path
, esta ruta no necesariamente tiene que ser accesible para el servidor Postgres remoto. --pghost
el nombre de host del servidor Postgres. El valor predeterminado es la variable de entorno PGHOST
si está configurado; de lo contrario, el valor predeterminado es localhost
.--pgport
el número de puerto para el servidor Postgres. El valor predeterminado es la variable de entorno PGPORT
si está configurada; de lo contrario, 5432
.--pgdb
el nombre de la base de datos para el servidor Postgres. El valor predeterminado es la variable de entorno PGDATABASE
si está configurada; de lo contrario, geoscape
.--pguser
el nombre de usuario para acceder al servidor Postgres. El valor predeterminado es la variable de entorno PGUSER
si está configurada; de lo contrario, postgres
.--pgpassword
contraseña para acceder al servidor Postgres. El valor predeterminado es la variable de entorno PGPASSWORD
si está configurada; de lo contrario, password
. --srid
Establece el sistema de coordenadas de los datos de entrada. Los valores válidos son 4283
(el valor predeterminado: GDA94 lat/long) y 7844
(GDA2020 lat/long).--geoscape-version
Número de versión de Geoscape en formato AAAAMM. El valor predeterminado es el año actual y el último mes de lanzamiento. por ejemplo, 202408
.--previous-geoscape-version
El número de versión anterior de Geoscape es AAAAMM; utilizado para la comparación de control de calidad. por ejemplo, 202405
.--raw-gnaf-schema
nombre del esquema para almacenar tablas GNAF sin procesar. El valor predeterminado es raw_gnaf_
.--raw-admin-schema
nombre del esquema para almacenar tablas de límites de administración sin formato. El valor predeterminado es raw_admin_bdys_
.--gnaf-schema
nombre del esquema de destino para almacenar las tablas GNAF finales. El valor predeterminado es gnaf_
.--admin-schema
nombre del esquema de destino para almacenar las tablas de límites de administración finales. El valor predeterminado es admin_bdys_
.--previous-gnaf-schema
Esquema con la versión anterior de las tablas GNAF. El valor predeterminado es gnaf_
.--previous-admin-schema
Esquema con la versión anterior de las tablas de límites de administración. El valor predeterminado es admin_bdys_
.--states
lista de estados separados por espacios para cargar, por ejemplo --states VIC TAS
. El valor predeterminado es cargar todos los estados.--prevacuum
obliga a vaciar la base de datos después de eliminar tablas. El valor predeterminado está desactivado y especificar esta opción ralentizará el proceso de importación.--raw-fk
crea claves primarias y externas para las tablas GNAF sin formato. El valor predeterminado está desactivado y ralentizará el proceso de importación si se especifica. Utilice esta opción si tiene la intención de utilizar las tablas GNAF sin procesar como algo más que un paso de importación temporal. Tenga en cuenta que las tablas finales procesadas siempre tendrán configuradas las claves primarias y externas adecuadas.--raw-unlogged
crea tablas GNAF sin procesar no registradas, lo que acelera la importación. El valor predeterminado es apagado. Especifique esta opción sólo si no le importan las tablas de datos sin procesar después de la importación; ¡se perderán si el servidor falla!--max-processes
especifica el número máximo de procesos paralelos que se utilizarán para la carga de datos. Establezca esto en la cantidad de núcleos en el servidor Postgres menos 2, pero limítelo a 12 si tiene más de 16 núcleos; hay un beneficio mínimo más allá de 12. El valor predeterminado es 4.--no-boundary-tag
NO etiquete todas las direcciones con algunos de los ID de límites de administrador clave para crear agregados y mapas de coropletas.python load-gnaf.py --gnaf-tables-path="C:tempgeoscape_202408G-NAF" --admin-bdys-path="C:tempgeoscape_202408Administrative Boundaries"
Cargas las tablas GNAF a un servidor Postgres que se ejecuta localmente. Los archivos GNAF se extrajeron a la carpeta C:tempgeoscape_202408G-NAF
, y los límites administrativos se extrajeron a la carpeta C:tempgeoscape_202408Administrative Boundaries
.python load-gnaf.py --gnaf-tables-path="\svrsharedgnaf" --local-server-dir="f:sharedgnaf" --admin-bdys-path="c:tempunzippedAdminBounds_ESRI"
Carga las tablas GNAF que se han extraído a la carpeta compartida \svrsharedgnaf
. Esta carpeta compartida corresponde a la carpeta local f:sharedgnaf
en el servidor Postgres. Los límites de administración se han extraído a la carpeta c:tempunzippedAdminBounds_ESRI
.python load-gnaf.py --states VIC TAS NT ...
Carga solo los datos de Victoria, Tasmania y Territorio del NortePuede cargar los límites de administración sin GNAF. Para hacer esto: comente los pasos 1, 3 y 4 en def main.
Nota: no puede cargar GNAF sin Admin Bdys debido a las dependencias necesarias para dividir Melbourne y corregir locality_pids no límite en las direcciones.
Al utilizar los datos resultantes de este proceso, deberá cumplir con los requisitos de atribución en las páginas data.gov.au para GNAF y Admin Bdys, como parte de los requisitos de licencia de datos abiertos.
GNAF y los límites de administración están listos para usar en Postgres en una imagen en Docker Hub.
docker pull minus34/gnafloader:latest
docker run --publish=5433:5432 minus34/gnafloader:latest
5433
. El inicio de sesión predeterminado es: usuario: postgres
, contraseña: password
Nota: la imagen de Docker comprimida es de 8 Gb, la imagen sin comprimir es de 25 Gb
ADVERTENCIA: La contraseña de superusuario predeterminada de Postgres no es segura y debe cambiarse mediante:
ALTER USER postgres PASSWORD '
Descargue archivos de volcado de Postgres y restáurelos en su base de datos.
Debería tomar entre 15 y 60 minutos.
Las versiones Geoparquet de las tablas espaciales, así como las versiones parquet de las tablas no espaciales, se encuentran en un depósito S3 público para su uso directamente en una aplicación o servicio. También se pueden descargar mediante la CLI de AWS.
Las geometrías tienen coordenadas de latitud/longitud WGS84 (SRID/EPSG:4326). Una consulta de ejemplo para analizar los datos utilizando Apache Sedona, la extensión espacial de Apache Spark se encuentra en la carpeta spark
.
Los archivos están aquí: s3://minus34.com/opendata/geoscape-202408/geoparquet/
aws s3 ls s3://minus34.com/opendata/geoscape-202408/geoparquet/
aws s3 sync s3://minus34.com/opendata/geoscape-202408/geoparquet/
Incorpora o se desarrolla utilizando G-NAF © Geoscape Australia con licencia de la Commonwealth de Australia según el Acuerdo de licencia de usuario final del Archivo de direcciones nacional con codificación geográfica abierta (G-NAF).
Incorpora o desarrolla utilizando Límites Administrativos © Geoscape Australia con licencia de la Commonwealth de Australia bajo licencia Creative Commons Attribution 4.0 International (CC BY 4.0).
GNAF y Admin Bdys se han personalizado para eliminar algunas de las limitaciones menores conocidas con los datos. Los más notables son:
loc9901d119afda_1
y loc9901d119afda_2
). La división ocurre en el río Yarra (según los códigos postales de las direcciones de Melbourne)