Menghasilkan Ubin Peta
Pendahuluan
Section titled “Pendahuluan”QCAD dilengkapi dengan dua alat baris perintah untuk membuat ubin peta yang digunakan dengan tampilan peta daring seperti Leaflet. Leaflet adalah pustaka JavaScript untuk bekerja dengan peta interaktif di dalam peramban.
Menyajikan Gambar Secara Daring
Section titled “Menyajikan Gambar Secara Daring”Kasus penggunaan paling sederhana untuk peta daring adalah menyediakan tampilan gambar yang interaktif dan dapat diperbesar bagi pengunjung sebuah situs web.
Berikut adalah contoh yang menghasilkan ubin peta untuk sembarang berkas gambar:
dwg2maptiles -z 0-6 -c -b white -hq-postfix=@2x -a -o path/to/output/directory drawing.dxfSakelar -z menentukan tingkat perbesaran yang akan dihasilkan, di sini dari tingkat perbesaran 0 hingga tingkat perbesaran 6. Ini berarti bahwa mulai dari tingkat 0 (seluruh gambar atau perbesaran otomatis), pengguna dapat memperbesar sebanyak 6 kali hingga batas tercapai. Setiap kali pengguna memperbesar, gambar diperbesar dengan faktor 2, sehingga dengan 6 tingkat perbesaran, pengguna dapat memperbesar dengan faktor 2^6 (=64). Menghasilkan lebih banyak tingkat perbesaran membutuhkan lebih banyak waktu dan ruang penyimpanan. Setiap tingkat perbesaran tambahan biasanya membutuhkan waktu dan ruang penyimpanan empat kali lebih banyak untuk dihasilkan dibandingkan tingkat sebelumnya.
Ubin dihasilkan di dalam direktori keluaran yang diberikan (-o) dengan struktur direktori dan nama berkas standar untuk ubin peta (z/x/y.png).
Pada contoh di atas, kita ingin gambar dirender di atas latar belakang putih (-b white). Garis putih harus dikoreksi menjadi hitam untuk memastikan semua garis terlihat (-c).
Argumen -hq-postfix=@2x memberi tahu dwg2maptiles untuk menghasilkan ubin berkualitas tinggi (hq, resolusi tinggi, retina) berukuran 512x512px selain ubin resolusi standar berukuran 256x256px.
Untuk lebih meningkatkan kualitas, kita juga menggunakan sakelar -a untuk antialiasing.
Lihat contoh dengan Leaflet secara daring
Menghasilkan Ubin Peta Tergeoreferensi
Section titled “Menghasilkan Ubin Peta Tergeoreferensi”dwg2maptiles juga dapat digunakan untuk menghasilkan overlay yang tepat untuk peta dunia. Untuk itu, sebuah gambar biasanya harus ditransformasikan dari sistem koordinat lokal ke koordinat Web Mercator seperti yang umum digunakan oleh peta daring.
QCAD Professional dilengkapi dengan alat baris perintah terpisah untuk mentransformasikan gambar dari satu sistem referensi koordinat (CRS) ke sistem lainnya: dwgmapconvert.
dwgmapconvert biasanya digunakan untuk mengonversi semua koordinat dalam sebuah berkas gambar dari sistem koordinat lokal yang diketahui ke sistem koordinat EPSG:3857 (kadang disebut “Web Mercator”). Ini adalah sistem koordinat yang digunakan oleh sebagian besar peta daring, misalnya Google Maps atau mapbox. Untuk menggunakan sebuah gambar sebagai masukan bagi dwg2maptiles dan menghasilkan ubin peta tergeoreferensi, gambar tersebut harus berada dalam sistem koordinat EPSG:3857.
Dalam sistem koordinat EPSG:3857, seluruh peta dunia muat ke dalam sebuah persegi berukuran 20037508.3427892m pada tingkat perbesaran 0. Jika sebuah gambar dikonversi ke sistem koordinat ini, gambar tersebut ditransformasikan sedemikian rupa sehingga muat ke dalam persegi dunia tersebut dan gambar berada pada koordinat dunia terproyeksi yang benar.
Misalnya, jika sebuah gambar dibuat dalam EPSG:2056 (juga LV95, sistem koordinat lokal Swiss), gambar tersebut dapat ditransformasikan ke EPSG:3857 dengan dwgmapconvert sebagai berikut:
dwgmapconvert -segment-length=0.5 -crs-in=EPSG:2056 -crs-out=EPSG:3857 -f -o drawing_epsg3857.dxf drawing_epsg2056.dxfKarena proyeksi peta biasanya nonlinier, kurva dan garis yang lebih panjang perlu dipecah menjadi segmen garis kecil yang kemudian dapat diproyeksikan secara nonlinier. Jika sakelar -segment-length diberikan, dwgmapconvert melakukan segmentasi ini secara otomatis menggunakan panjang segmen yang diberikan. Panjang segmen ditentukan dalam satuan gambar dari gambar asli (di sini Meter).
-crs-in digunakan untuk menentukan sistem koordinat masukan, di sini EPSG:2056.
-crs-out digunakan untuk menentukan sistem koordinat keluaran yang harus berupa EPSG:3857 jika keluaran nantinya akan digunakan dengan dwg2maptiles.
dwgmapconvert dilengkapi dengan dukungan untuk LV95 sebagai masukan dan WebMercator sebagai keluaran.
Sistem koordinat lainnya akan ditambahkan pada rilis mendatang atau dapat ditambahkan oleh pengguna.
Untuk menambahkan dukungan bagi sistem koordinat baru, dua persamaan harus disediakan untuk mengonversi koordinat dari sistem koordinat baru ke WGS84 (Bujur/Lintang, seperti koordinat GPS).
Sistem koordinat baru dapat ditambahkan ke sebuah berkas konfigurasi JSON bernama CRS.json, yang terletak di dalam folder “scripts” pada instalasi QCAD yang digunakan. Berikut adalah contoh berkas CRS.json yang mengonfigurasi sistem koordinat LV95. Agar dapat menggunakan LV95 sebagai masukan untuk alat dwgmapconvert, kita perlu menyediakan bagian “toWgs84” dengan persamaan untuk konversi koordinat x dan y. Di sini, kita juga menggunakan dua variabel bantu, x_ dan y_ yang harus diinisialisasi dalam persamaan x agar dapat diakses di kedua persamaan.
Kita juga dapat menyediakan bagian “fromWgs84” untuk memungkinkan konversi dari sistem koordinat lain ke LV95. Kedua bagian bersifat opsional, bergantung pada arah konversi yang ingin Anda dukung.
{ "CRS" : [ { "id" : "EPSG:2056 CH1903+ / LV95", "toWgs84" : { "x": "x_ = (y-1200000)/1000000; y_ = (x-2600000)/1000000; (2.6779094 + 4.728982*y_ + 0.791484*y_*x_ + 0.1306*y_*x_*x_ - 0.0436*y_*y_*y_) * 100 / 3", "y": "(16.9023892 + 3.238272*x_ - 0.270978*y_*y_ - 0.002528*x_*x_ - 0.0447*y_*y_*x_ - 0.0140*x_*x_*x_) * 100 / 36" }, "aliases" : [ "LV95", "Swiss" ] } ]}Menghasilkan Ubin Peta
Section titled “Menghasilkan Ubin Peta”Setelah kita mengonversi gambar ke koordinat EPSG:3857, kita dapat menggunakan dwg2maptiles untuk menghasilkan ubin bagi lapisan overlay di Leaflet:
dwg2maptiles -web-mercator -skip-empty -hq-postfix=@2x -z 22 -b transparent -o path/to/output/directory drawing_epsg3857.dxfPerhatikan bahwa kita perlu memberikan sakelar -web-mercator kepada dwg2maptiles agar ia tahu bahwa ia tidak boleh melakukan perbesaran otomatis, melainkan menghasilkan overlay peta dalam koordinat EPSG:3857 yang tepat sebagaimana terdapat dalam berkas.
-skip-empty memberi tahu dwg2maptiles untuk tidak menghasilkan ubin yang tidak berisi bagian apa pun dari gambar. Tanpa sakelar ini, 2^zoomLevel ubin akan dihasilkan per tingkat perbesaran. Itu berarti 4’194’304 ubin untuk tingkat perbesaran 22. Karena gambar overlay sangat mungkin hanya mencakup bagian yang sangat kecil dari peta dunia, sakelar ini harus selalu digunakan saat membuat peta overlay.
-b transparent mengatur latar belakang menjadi transparan, sehingga peta dapat digunakan sebagai overlay untuk peta dunia yang sudah ada (mis. Google Map, mapbox, dll.). Untuk mengontrol warna tampilan garis hitam atau putih, latar belakang dapat diatur menjadi hitam transparan atau putih transparan dengan -b "#00ffffff" (latar belakang putih transparan, garis hitam) atau -b "#00000000" (latar belakang hitam transparan, garis putih) secara berturut-turut. Pastikan juga untuk memberikan sakelar -c dalam kasus ini guna memaksa koreksi warna otomatis.
Argumen -hq-postfix=@2x dapat digunakan untuk menghasilkan ubin resolusi tinggi (512px) selain ubin 256px biasa. Nilai “@2x” direkomendasikan dan banyak digunakan untuk ubin resolusi tinggi, juga di Leaflet. Dengan sakelar ini, untuk setiap ubin resolusi rendah “N.png”, dibuat sebuah ubin resolusi tinggi “[email protected]”.
Menggunakan Beberapa Proses (dan Inti CPU)
Section titled “Menggunakan Beberapa Proses (dan Inti CPU)”Menghasilkan ubin peta bisa menjadi tugas yang intensif bagi CPU, bergantung pada tingkat perbesaran, kompleksitas gambar, dan pengaturan lainnya.
Untuk menghasilkan ubin peta lebih cepat, Anda dapat membagi pekerjaan di antara beberapa inti CPU yang tersedia. Untuk fitur ini, dwg2maptiles menawarkan sakelar -s untuk menghasilkan hanya sebagian (slice) dari ubin yang dibutuhkan. Sakelar -s mengharapkan dua parameter yang dipisahkan koma: slice yang akan dihasilkan dan jumlah total slice yang digunakan. Misalnya -s 1,4 akan menghasilkan slice pertama dari total empat slice. Untuk menghasilkan semua ubin dari contoh di atas menggunakan empat inti CPU, Anda dapat menjalankan:
dwg2maptiles -web-mercator -skip-empty -hq-postfix=@2x -z 22 -s 1,4 -b transparent -o path/to/output/directory drawing_epsg3857.dxf &dwg2maptiles -web-mercator -skip-empty -hq-postfix=@2x -z 22 -s 2,4 -b transparent -o path/to/output/directory drawing_epsg3857.dxf &dwg2maptiles -web-mercator -skip-empty -hq-postfix=@2x -z 22 -s 3,4 -b transparent -o path/to/output/directory drawing_epsg3857.dxf &dwg2maptiles -web-mercator -skip-empty -hq-postfix=@2x -z 22 -s 4,4 -b transparent -o path/to/output/directory drawing_epsg3857.dxf &waitTentu saja Anda juga dapat membagi tugas berdasarkan tingkat perbesaran atau menggunakan slice hanya untuk tingkat perbesaran yang lebih tinggi dan satu proses tunggal untuk semua tingkat perbesaran yang lebih rendah (lebih murah), dan seterusnya.
Contoh
Section titled “Contoh”Sebuah contoh interaktif menyediakan dua lapisan overlay pada peta kanton Zürich di Swiss: kawasan hutan lindung dan koridor satwa liar. Data asli tersedia dalam koordinat EPSG:2056 (LV95) dan ditransformasikan ke EPSG:3857 menggunakan dwgmapconvert.