Cara cepat untuk memuat File Alamat Nasional Geokode Australia (GNAF) dan Batas Administratif Australia yang lengkap ke dalam Postgres, disederhanakan dan siap digunakan sebagai data referensi untuk geocoding, analisis, visualisasi, dan agregasi.
Silakan lihat slide intro (PDF) ini, serta halaman data.gov.au.
Menjalankan skrip Python membutuhkan waktu 30-120 menit di server Postgres yang dikonfigurasi untuk memanfaatkan RAM yang tersedia.
Anda dapat memproses data versi GDA94 atau GDA2020 - cukup pastikan Anda mengunduh versi yang sama untuk GNAF dan Batas Administratif. Jika Anda tidak tahu apa itu GDA94 atau GDA2020, unduh versi GDA94 (FYI - keduanya memiliki sistem koordinat yang berbeda)
Untuk mendapatkan waktu buka yang baik, Anda perlu mengonfigurasi server Postgres Anda untuk kinerja. Ada panduan bagus di sini, mengingat usianya sudah beberapa tahun dan beberapa parameter memori dapat ditingkatkan jika Anda memiliki RAM.
CREATE EXTENSION postgis
-h
(lihat contoh baris perintah di bawah)Perilaku gnaf-loader dapat dikontrol dengan menentukan berbagai opsi baris perintah pada skrip. Argumen yang didukung adalah:
--gnaf-tables-path
menentukan jalur ke file PSV GNAF yang diekstraksi. Direktori ini harus dapat diakses oleh server Postgres , dan jalur lokal yang sesuai untuk server ke direktori ini mungkin perlu diatur melalui argumen local-server-dir
--local-server-dir
menentukan jalur lokal di server Postgres yang sesuai dengan gnaf-tables-path
. Jika server berjalan secara lokal, argumen ini dapat dihilangkan.--admin-bdys-path
menentukan jalur ke file batas admin Shapefile yang diekstraksi. Berbeda dengan gnaf-tables-path
, jalur ini tidak harus dapat diakses oleh server Postgres jarak jauh. --pghost
nama host untuk server Postgres. Defaultnya adalah variabel lingkungan PGHOST
jika disetel, jika tidak, defaultnya adalah localhost
.--pgport
nomor port untuk server Postgres. Defaultnya adalah variabel lingkungan PGPORT
jika disetel, jika tidak, 5432
.--pgdb
nama database untuk server Postgres. Defaultnya adalah variabel lingkungan PGDATABASE
jika disetel, jika tidak geoscape
.--pguser
nama pengguna untuk mengakses server Postgres. Defaultnya adalah variabel lingkungan PGUSER
jika disetel, jika tidak, postgres
.--pgpassword
kata sandi untuk mengakses server Postgres. Defaultnya adalah variabel lingkungan PGPASSWORD
jika disetel, jika tidak, password
. --srid
Mengatur sistem koordinat data masukan. Nilai yang valid adalah 4283
(default: GDA94 lat/long) dan 7844
(GDA2020 lat/long).--geoscape-version
Nomor versi Geoscape dalam format YYYYMM. Defaultnya adalah tahun ini dan bulan rilis terakhir. misalnya 202408
.--previous-geoscape-version
Nomor versi rilis Geoscape sebelumnya sebagai YYYYMM; digunakan untuk perbandingan QA. misalnya 202405
.--raw-gnaf-schema
nama skema untuk menyimpan tabel GNAF mentah. Defaultnya adalah raw_gnaf_
.--raw-admin-schema
nama skema untuk menyimpan tabel batas admin mentah. Defaultnya adalah raw_admin_bdys_
.--gnaf-schema
nama skema tujuan untuk menyimpan tabel GNAF akhir. Defaultnya adalah gnaf_
.--admin-schema
untuk menyimpan tabel batas admin akhir. Defaultnya adalah admin_bdys_
.--previous-gnaf-schema
Skema dengan tabel GNAF versi sebelumnya. Defaultnya adalah gnaf_
.--previous-admin-schema
Skema dengan tabel batas admin versi sebelumnya. Defaultnya adalah admin_bdys_
.--states
memisahkan daftar negara bagian yang akan dimuat, misalnya --states VIC TAS
. Defaultnya memuat semua negara bagian.--prevacuum
memaksa database dikosongkan setelah tabel dihapus. Defaultnya adalah nonaktif, dan menentukan opsi ini akan memperlambat proses impor.--raw-fk
membuat kunci utama & kunci asing untuk tabel GNAF mentah. Defaultnya adalah nonaktif, dan akan memperlambat proses impor jika ditentukan. Gunakan opsi ini jika Anda ingin menggunakan tabel GNAF mentah sebagai langkah impor sementara. Perhatikan bahwa tabel yang diproses akhir akan selalu memiliki kumpulan kunci primer dan asing yang sesuai.--raw-unlogged
membuat tabel GNAF mentah yang tidak dicatat, sehingga mempercepat impor. Defaultnya mati. Hanya tentukan opsi ini jika Anda tidak peduli dengan tabel data mentah setelah impor - tabel tersebut akan hilang jika server mogok!--max-processes
menentukan jumlah maksimum proses paralel yang akan digunakan untuk memuat data. Setel ini ke jumlah inti di server Postgres dikurangi 2, tetapi batasi menjadi 12 jika 16+ inti - ada manfaat minimal melebihi 12. Defaultnya adalah 4.--no-boundary-tag
JANGAN memberi tag pada semua alamat dengan beberapa ID batas admin utama untuk membuat peta agregat dan choropleth.python load-gnaf.py --gnaf-tables-path="C:tempgeoscape_202408G-NAF" --admin-bdys-path="C:tempgeoscape_202408Administrative Boundaries"
Memuat tabel GNAF ke server Postgres yang berjalan secara lokal. Arsip GNAF telah diekstraksi ke folder C:tempgeoscape_202408G-NAF
, dan batas admin telah diekstraksi ke folder C:tempgeoscape_202408Administrative Boundaries
.python load-gnaf.py --gnaf-tables-path="\svrsharedgnaf" --local-server-dir="f:sharedgnaf" --admin-bdys-path="c:tempunzippedAdminBounds_ESRI"
Memuat tabel GNAF yang telah diekstraksi ke folder bersama \svrsharedgnaf
. Folder bersama ini sesuai dengan folder f:sharedgnaf
lokal di server Postgres. Batasan admin telah diekstraksi ke folder c:tempunzippedAdminBounds_ESRI
.python load-gnaf.py --states VIC TAS NT ...
Hanya memuat data untuk Victoria, Tasmania, dan Northern TerritoryAnda dapat memuat Batas Admin tanpa GNAF. Untuk melakukan ini: beri komentar pada langkah 1, 3 dan 4 di def main.
Catatan: Anda tidak dapat memuat GNAF tanpa Admin Bdys karena dependensi diperlukan untuk membagi Melbourne dan untuk memperbaiki locality_pids non-batas pada alamat.
Saat menggunakan data yang dihasilkan dari proses ini - Anda harus mematuhi persyaratan atribusi pada halaman data.gov.au untuk GNAF dan Admin Bdys, sebagai bagian dari persyaratan lisensi data terbuka.
GNAF dan Admin Boundaries siap digunakan di Postgres dalam image di Docker Hub.
docker pull minus34/gnafloader:latest
docker run --publish=5433:5432 minus34/gnafloader:latest
5433
. Login default adalah - pengguna: postgres
, kata sandi: password
Catatan: image Docker yang dikompresi adalah 8 Gb, yang tidak terkompresi adalah 25 Gb
PERINGATAN: Kata sandi superuser default postgres tidak aman dan harus diubah menggunakan:
ALTER USER postgres PASSWORD '
Unduh file dump Postgres dan pulihkan di database Anda.
Harus memakan waktu 15-60 menit.
Versi geoparket dari tabel spasial, serta versi parket dari tabel non-spasial, berada dalam bucket S3 publik untuk digunakan secara langsung dalam aplikasi atau layanan. Mereka juga dapat diunduh menggunakan AWS CLI.
Geometri mempunyai koordinat lintang/bujur WGS84 (SRID/EPSG:4326). Contoh kueri untuk menganalisis data menggunakan Apache Sedona, ekstensi spasial untuk Apache Spark ada di folder spark
.
Filenya ada di sini: 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/
Menggabungkan atau dikembangkan menggunakan G-NAF © Geoscape Australia yang dilisensikan oleh Persemakmuran Australia berdasarkan Perjanjian Lisensi Pengguna Akhir Open Geo-coded National Address File (G-NAF).
Digabungkan atau dikembangkan menggunakan Batas Administratif © Geoscape Australia yang dilisensikan oleh Persemakmuran Australia di bawah lisensi Creative Commons Attribution 4.0 International (CC BY 4.0).
GNAF dan Admin Bdys telah disesuaikan untuk menghilangkan beberapa batasan kecil yang diketahui pada data. Yang paling menonjol adalah:
loc9901d119afda_1
& loc9901d119afda_2
). Perpecahan terjadi di Sungai Yarra (berdasarkan kode pos di alamat Melbourne)