Dokumen ini memberikan gambaran singkat tentang proses, serta data dan alat yang diperlukan, untuk menghasilkan peta kepadatan menggunakan "Marinetraffic AIS toolbox". Data yang digunakan dalam ikhtisar ini adalah data historis Sistem Identifikasi Otomatis (AIS) yang didekodekan.
Kami sangat menyarankan menjalankan modul ini di lingkungan virtual untuk memastikan kompatibilitas paket.
git clone https://github.com/marinetraffic/mt-ais-toolbox.git;
cd mt-ais-toolbox/;
python3 -m venv .venv;
source .venv/bin/activate;
pip install -e .;
export USE_PYGEOS=1;
Instalasi paket di lingkungan virtual
pip install -e .
Untuk menonaktifkan penggunaan lingkungan virtual:
deactivate
Paket juga dapat diinstal langsung dari repo gitub kami dengan perintah berikut, namun diperlukan perubahan jalur tambahan untuk menjalankan contoh berikut.
pip install git+https://github.com/marinetraffic/mt-ais-toolbox.git;
Periksa juga bagian konfigurasi di bawah ini
Catatan: disarankan untuk mengatur variabel sistem berikut untuk mempercepat penggabungan spasial pygeos:
export USE_PYGEOS=1
Toolbox ini bergantung pada pustaka GDAL, terutama untuk proses rasterisasi, sehingga menginstalnya di sistem operasi windows akan memerlukan instalasi GDAL yang berfungsi di seluruh sistem Anda.
Untuk menggunakan modul ini di windows Anda harus memiliki instalasi GDAL yang berfungsi sebelum menginstal toolbox ini. Solusinya adalah menginstal GDAL melalui OSGeo4w (https://trac.osgeo.org/osgeo4w/) dan menentukan jalur yang sesuai untuk menggunakan versi python yang disertakan. Selain itu, Anda harus memasukkan direktori bin folder instalasi osgeo ke variabel lingkungan PATH Anda.
Paket ini termasuk
File konfigurasi.json yang menentukan:
Implementasi untuk:
Setiap langkah pendekatan kami memerlukan beberapa parameter yang mencakup: jalur untuk file masukan dan direktori keluaran, tanda mengenai operasi yang akan dijalankan, ambang batas tambahan yang diperlukan selama eksekusi (misalnya laju downsampling). Semua informasi tersebut harus disertakan dalam file konfigurasi, yang harus diteruskan sebagai argumen selama eksekusi (misalnya config/config.json).
Untuk memuat pesan AIS, file nilai terkompresi yang dipisahkan koma harus disertakan (format .csv.bz2). File-file ini harus memiliki pesan yang diurutkan berdasarkan stempel waktunya. Jika ada beberapa file input, file tersebut harus diurutkan berdasarkan abjad sehingga file dengan pesan sebelumnya didahulukan.
Gabungkan data yang didekodekan: Pesan AIS (statis dan posisi) akan digabungkan sehingga setiap pesan posisi menyertakan informasi tambahan yang berasal dari pesan AIS statis terkait. Proses penggabungan dapat dilakukan dengan cara:
python -m mt.cleaning.ais_merge config/config.json
Jika pesannya adalah laporan statis:
t,station,channel_code,mmsi,type,data_type,imo;shiptype;to_bow;to_stern;to_port;to_starboard;callsign;shipname;draught;destination;eta_month;eta_day;eta_hour;eta_minute
Jika pesannya adalah laporan posisi:
t,station,channel_code,mmsi,type,data_type,lon;lat;heading;course;speed;rot_direction;rot;navigation_status
Kumpulan data sampel asli untuk satu kapal.
Bersihkan data yang digabungkan: setelah menggabungkan semua pesan AIS harus melalui filter yang ditunjukkan dalam file konfigurasi. Hal ini dapat mencakup: pemeriksaan validitas bidang pergerakan, validitas ID kapal (MMSI), masker tanah dan lain-lain (lihat bagian Filter di bawah). Direktori masukan dan keluaran serta filter yang akan diterapkan ditentukan pada file konfigurasi yang diberikan. Proses pembersihan dapat dilakukan dengan:
python -m mt.cleaning.data_cleaning config/config.json
Bersihkan kumpulan data (hijau) untuk kapal yang sama. Pesan merah disaring.
Langkah pembuatan peta kepadatan membaca file ais yang telah dibersihkan dan menghasilkan peta kepadatan sehubungan dengan metode yang dipilih dalam file konfigurasi. Ada dua pilihan yang tersedia, yang pertama mengukur jumlah kapal dalam setiap sel, sedangkan yang kedua menggabungkan waktu yang dihabiskan dalam setiap sel dari semua kapal yang melintasinya.
python -m mt.density.export_density_maps config/config.json
Grid samping sepanjang 1 km digunakan untuk menghitung peta kepadatan. Membersihkan posisi tiga kapal
Proses rasterisasi.
Peta hasil metode time_at_cells dalam format tiff yang direferensikan secara geografis dan peta warna sebagaimana disediakan dalam konfigurasi.
Filter yang disediakan oleh toolbox Marinetraffic AIS meliputi:
File konfigurasi yang diberikan menentukan filter mana di atas yang akan diterapkan.
File konfigurasi toolbox Marinetraffic AIS adalah file json yang terdiri dari parameter yang mengontrol antara lain jalur input dan output, menyesuaikan sensitivitas proses pembersihan data dan mengontrol aspek lain dari proses pembuatan peta.
Parameter | Keterangan | Nilai Bawaan |
---|---|---|
"jalur_file_geometri" | Jalur untuk file geometri yang digunakan | dalam konfigurasi |
"jalur_grid" | Jalur untuk menghemat jaringan | dalam konfigurasi |
"ais_jalan" | Jalur direktori pesan AIS yang digabungkan | dalam konfigurasi |
"ais_clean_path" | Jalur direktori pesan AIS yang dibersihkan | dalam konfigurasi |
"ais_decoded_path" | Jalur direktori pesan AIS yang digabungkan | dalam konfigurasi |
"jalur_kepadatan" | Jalur direktori file kepadatan yang dihasilkan | dalam konfigurasi |
"jalur_file_warna" | Direktori file berwarna jalur file kepadatan (TIFF). | dalam konfigurasi |
"ais_stats_path" | Jalur untuk direktori statistik | dalam konfigurasi |
"keluar_crs" | Kode sistem referensi koordinat keluaran (CRS 3035 atau 3857 (tidak diuji) ) | 3035 |
"bidang_kosong" | Jika benar menghapus pesan dengan kolom kosong | PALSU |
"bidang_gerakan_tidak valid" | Jika benar menghapus pesan dengan nilai yang tidak valid di bidang COG,SOG,LON,LAT | PALSU |
"mmsi_tidak valid" | Jika benar menghapus pesan dengan nilai mmsi tidak valid (lihat di bawah) | PALSU |
"salah_mmsi" | Daftar MMSI yang akan dikecualikan | dalam konfigurasi |
"topeng_tanah" | Jika benar maka akan diberlakukan proses penutupan lahan | PALSU |
"kotak_batas" | Daftar koordinat yang menunjukkan area yang diminati. Koordinatnya dalam format: [minLon, minLat, maxLon, maxLat], dan harus mengikuti sistem proyeksi keluaran | opsional dalam konfigurasi (contoh: [5905000, 2185000, 5910000, 2190000]) |
"turunkan sampel" | Jika benar maka akan memberlakukan proses downsampling | PALSU |
"downsample_rate" | Tingkat downsampling (dalam mili-detik) | di config (contoh: 180000 ~ 3 menit) |
"filter_kebisingan" | Jika benar, maka akan menerapkan proses penyaringan kebisingan dengan menghilangkan pesan yang menunjukkan transisi yang mustahil | dalam konfigurasi |
"panjang_tepi_kisi" | Daftar panjang sel grid untuk pembuatan grid. Setiap panjang menunjukkan ukuran tepi pada setiap dimensi (dalam meter). | dalam konfigurasi (contoh: [500000,200000,10000]) |
"jangka waktu" | Jika benar, ini akan menerapkan filter terkait stempel waktu setiap pesan. Jika benar, "waktu_mulai"/"waktu_akhir" harus ditentukan (menggunakan representasi EPOCH - dalam milidetik) | PALSU |
"waktu_mulai/berakhir" | Waktu mulai/berakhir untuk filter teimframe (dalam milidetik) | di konfigurasi (contoh: 1647592893000) |
"posisi_min" | Jumlah pesan AIS minimum untuk file yang akan disertakan dalam proses pembersihan | 10 |
"utas_maks" | Jumlah maksimum thread selama eksekusi; hanya untuk proses yang bekerja secara paralel | 4 |
"metode_kepadatan" | Metode yang akan digunakan untuk peta kepadatan 'vessels_count' (default) atau 'time_at_cells' | 'jumlah_kapal' |
"kepadatan_jenis_kapal" | Daftar jenis kapal yang perlu dipertimbangkan saat membuat peta kepadatan. Satu peta akan dibuat untuk setiap jenis kapal, berdasarkan kode jenis yang tersedia di AIS. Opsi 'Semua' mencakup semua kapal apa pun jenisnya. Pilihannya mencakup: ['Semua', 'Kargo', 'Tanker', 'Pengerukan', 'HSC', 'Memancing', 'Hukum_Militer', 'Penumpang', 'Kesenangan', 'Berlayar', 'Layanan', 'Tug ', 'Tidak Diketahui', 'Lainnya'] | 'Semua' |
Direktori ('colors_files_path') dengan file warna harus menyertakan file TXT, bernama 'colors_{GEL}.txt' dengan GEL adalah panjang setiap tepi grid dalam meter (contoh: 'colors_1000.txt'). Setiap file harus menyertakan ambang kepadatan diikuti dengan warna yang sesuai, dinyatakan sebagai RGB dan dengan indikator opacity (0-255).
Anda dapat mengekstrak persyaratan dari impor menggunakan perintah : pipareqs --force
Anda dapat menggunakan paket pip-licenses untuk memeriksa lisensi dependensi
pip-licenses -p pyproj geopandas Fiona haversine pandas Shapely
menghasilkan:
Fiona 1.8.21 BSD License
Shapely 2.0.0 BSD License
geopandas 0.10.2 BSD
haversine 2.5.1 MIT License
pandas 1.4.2 BSD License
pyproj 3.3.1 MIT License
Pekerjaan ini sebagian didanai oleh Dana Kelautan dan Perikanan Eropa (EMFF) melalui kontrak layanan No. CINEA/EMFF/2020/3.1.16/Lot2/SI2.850940
Karya ini dilisensikan di bawah Lisensi Internasional Creative Commons Attribution-NonCommercial-ShareAlike 4.0.