- tinyworldmap adalah peta dunia untuk aplikasi web yang mengutamakan offline dan bandwidth rendah, dirancang untuk digunakan bersama Leaflet
- Mendukung seluruh level zoom, dan versi paling lengkap berukuran gzip 450KB; rendering di sisi klien telah diprofilkan dan diuji agar tidak ada jeda yang terasa bahkan di ponsel kelas rendah berusia 10 tahun
- Peta bawaan menampilkan 10.000 kota dengan populasi terbesar yang ditambahkan ke OpenStreetMap, dan pada saat penulisan mencakup kota besar dan kecil dengan populasi 48.000 orang atau lebih
- Ada dua cara penggunaan: sebagai basemap yang menggantikan tile OpenStreetMap, atau sebagai peta fallback yang mengganti permintaan tile OSM saat offline dengan tile yang dibuat secara lokal
- Data peta mengikuti lisensi ODBL seperti OpenStreetMap, dan perlu mencantumkan atribusi OpenStreetMap serta tinyworldmap, misalnya di footer Leaflet
Tujuan dan cakupan tinyworldmap
- tinyworldmap adalah peta dunia untuk aplikasi web yang mengutamakan offline dan bandwidth rendah
- Dirancang untuk digunakan bersama Leaflet dan mendukung semua level zoom
- Versi paling lengkap berukuran gzip 450KB, atau 1,1MB setelah diekstrak
- Rendering di sisi klien telah diprofilkan dan diuji secara luas pada ponsel kelas rendah berusia 10 tahun, dan tidak ada jeda yang terasa
- Demo tersedia sebagai Nightly demo, Stable demo, dan v3 announcement
Data peta bawaan
- Dalam pengaturan bawaan, peta menampilkan 10.000 kota dengan populasi terbesar yang ditambahkan ke OpenStreetMap
- Pada saat penulisan, cakupan ini mencakup semua kota besar dan kecil dengan populasi 48.000 orang atau lebih
Dua cara penggunaan di Leaflet
Gaya peta dan peta kustom
- Konstruktor menerima opsi
render untuk mengubah tampilan peta
- Opsi
style pada setiap layer diterapkan ke CanvasRenderingContext2D milik Canvas
- Misalnya, Anda dapat mengubah gaya dengan menetapkan
fillStyle pada layer state_borders
let render = {
state_borders: {
style: {fillStyle: '#f00'}
}
}
new L.GridLayer.TinyWorld({maxZoom: 19, render}).addTo(map)
- Jika organisasi membutuhkan peta kustom berisi peta jalan, peta kota, peta dalam bahasa lain, atau konten khusus dengan data OSM maupun non-OSM, Anda dapat meminta penawaran ke
business@tinyworldmap.com
Opsi file peta yang lebih kecil
-
Versi tanpa garis batas
tiny-world-cities-10000.js(on) berisi data dari versi lengkap dengan batas negara bagian, batas negara, dan garis pantai dikecualikan
- Versi ini mengurangi ukuran sebesar 300KB dalam gzip dan 825KB setelah diekstrak
- Versi tanpa garis batas memiliki keunggulan bahwa semua data yang disertakan bersifat presisi
- Batas negara pada versi lengkap tidak akurat pada level zoom tinggi, sehingga dapat terlihat janggal saat menumpangkan bentuk yang sesuai dengan batas negara atau garis pantai
- Dalam kasus seperti itu, versi tanpa garis batas sering kali terlihat lebih baik
-
Versi tanpa label kota
- Ada dua file tanpa label kota
tiny-world-borders.js(on): menghilangkan batas negara bagian
tiny-world-nocities.js(on): mempertahankan batas negara bagian
- Label kota memakan 410KB setelah diekstrak dan 172KB setelah dikompresi
-
Versi dengan jumlah kota lebih sedikit
- File dengan label kota juga tersedia dalam versi 2.000 dan 4.000 kota
- Cukup ganti
10000 pada nama file menjadi 2000 atau 4000
- | Jumlah kota yang disertakan | Batas populasi |
- | --- | --- |
- | 10.000 | lebih dari 48.000 orang |
- | 4.000 | lebih dari 137.000 orang |
- | 2.000 | lebih dari 287.000 orang |
Lisensi dan atribusi
- Data tinyworldmap mengikuti lisensi ODBL seperti data OpenStreetMap
- ODBL mewajibkan atribusi
- Jika dikonfigurasi sesuai cara yang dijelaskan, footer Leaflet seharusnya menyertakan atribusi OpenStreetMap dan tinyworldmap
- Jika tidak, Anda harus menambahkan atribusi OpenStreetMap dan tinyworldmap secara terpisah
1 komentar
Opini Hacker News
Saya suka idenya. Ini menyelesaikan masalah ketika Anda memperkecil terlalu jauh lalu harus menunggu server merender tile benua yang baru saja diminta
Namun, saya kurang paham use case pengguna yang bisa mengetahui posisi relatif West Bloomfield Township dan Waterford Charter Township di pinggiran Detroit, tetapi tidak tahu keduanya berada di negara bagian mana atau bahkan bahwa Great Lakes itu ada
Akan lebih baik jika memakai jauh lebih banyak data untuk garis pantai, dan jauh lebih sedikit untuk pembagian wilayah metropolitan besar
Itu menutupi terlalu banyak informasi lain yang mungkin bisa ditampilkan
Keren, tetapi detail garis pantainya terlalu rendah. Beberapa kota di Inggris tampak mengapung di laut, sementara Greenland dan Kanada Utara justru mengambil semua titik sudut
Sepertinya tingkat detail berdasarkan proyeksi Mercator sudah dipertimbangkan, tetapi akan lebih baik jika wilayah yang nyaris tidak berpenghuni diberi prioritas lebih rendah
DB SQLite QRank juga pernah muncul di HN dulu
[1] https://qrank.wmcloud.org/
[2] https://github.com/hikeratlas/qrank
Sebuah provinsi di Netherlands ditampilkan terputus dari daratan utama negara itu dan seperti pulau, padahal sebenarnya tidak. Namun, peta itu tahu lima nama kota di provinsi tersebut, dan beberapa di antaranya hampir saling tumpang tindih
Sebaliknya, memasukkan Afsluitdijk menurut saya pribadi detail yang tidak perlu, tetapi saya mengerti bahwa membedakan secara programatik tanah mana yang harus digambar dan infrastruktur maritim sederhana itu sulit
Seharusnya saya membuka tiket di issue tracker, tetapi karena sedang tidak login di ponsel, komentar HN ini yang terbaik untuk saat ini. Jika ada yang merasakan hal serupa, silakan gunakan komentar ini sebagai dasar untuk mengusulkan perbaikan seperti penyesuaian rasio, penambahan jarak minimum antarkota, atau pengecilan ukuran file keseluruhan
French Polynesia bahkan tidak ada di peta
Alasan awal tidak melakukannya begitu adalah karena ponsel lama, terutama Firefox for Android, bisa crash saat menggambar banyak poligon. Setelah itu prosedur menggambarnya sudah dioptimalkan, tetapi tetap perlu hati-hati
[1] https://tinyworldmap.com/beta.html
Ini hal yang seharusnya tertangkap oleh quality control dasar
Saya membuat sesuatu yang mirip. Offline-first, sangat kecil, berbasis vektor, dan berfokus pada internasionalisasi
Tersedia dalam semua bahasa PBB. Namun Spanish terlewat karena saya benar-benar lupa, dan memalukan karena seharusnya bisa dibuat dalam beberapa jam
Nama negara dan kota memakai nama resmi yang terdaftar di PBB. Jadi nama pendek resmi UK adalah “United Kingdom of Great Britain and Northern Ireland”
https://map.ache.one/en
Menggambar peta ringan dan menangani internasionalisasi relatif mudah. Karena ada beberapa sumber data publik dan library
Bagian yang benar-benar sulit murni soal definisi administratif. Jika ada data yang terhubung dengan sebagian besar negara, pasti akan ada bagian yang tidak cocok dengan sumber peta, dan akhirnya Anda harus membuat peta kustom sendiri
Tidak ada konsensus tentang apa itu “negara”. Western Sahara secara resmi adalah negara, tetapi secara praktis terus diduduki Morocco, sementara Somalia memiliki Somaliland dan Puntland yang secara de facto bergerak seperti negara merdeka, tetapi tidak diakui secara resmi. Greenland, Niue, dan lainnya berada di suatu titik di tengah-tengahnya
Berdasarkan pengalaman saya melakukannya di tingkat negara, itu adalah proses manual yang memakai hack kotor, dan bagian tersulit adalah menguji apakah semuanya sudah cocok dengan benar. Terutama tingkat generalisasi yang tepat dan seperti apa tampilan yang diharapkan orang dari peta wilayah mereka sendiri
Saya penasaran apakah Anda melihat upaya untuk meningkatkan peta ini secara besar-besaran sebagai sesuatu yang sepadan
Tanda bintangnya ada di Dar Es Salaam, tetapi labelnya Dodoma. Dodoma memang ibu kota sebenarnya, tetapi posisinya lebih ke tengah negara
Imut. Dulu saya pernah membuat sesuatu yang tidak sepenuhnya sama, tetapi mirip
https://web.archive.org/web/20020611095429/http://www.cs.man.ac.uk/~hancockd/CityZen/index.html
20.000 segmen garis, 3.350 tempat, termasuk viewer dan kuis, semuanya total 162KB
Terima kasih atas masukannya. Untuk menjelaskan latar belakang pilihannya, sampai baru-baru ini fokus utama proyek ini bukanlah bentuk negara
Selama lama, versi tanpa perbatasan yang ada di README adalah satu-satunya versi, dan saya tidak mengira menambahkan seluruh dunia itu mungkin. Ternyata bisa
Saya telah merilis versi nightly yang menghapus fyord, memasukkan pulau-pulau yang banyak diminta, dan menambahkan lebih banyak detail di tempat lain. Secara keseluruhan resolusinya juga lebih tinggi
Alasan awal tidak melakukannya adalah karena di ponsel lama, terutama Firefox for Android, menggambar banyak poligon bisa menyebabkan crash. Setelah itu prosedur rendering sudah dioptimalkan, tetapi tetap perlu hati-hati
[1] https://tinyworldmap.com/beta.html
Saya tidak yakin apakah 10.000 kota dengan populasi terbesar adalah filter terbaik
Cara ini akan memprioritaskan kota-kota di negara besar, dan kemungkinan besar sebagian besar kota di negara kecil akan terlewat
Perlu ada filter tambahan yang memasukkan X kota teratas per negara. Dengan begitu kota-kota utama di negara kecil juga bisa tercakup
Kriteria seperti ibu kota negara, ibu kota wilayah, kota dunia, dan sentralitas dalam kawasan bisa berguna untuk melengkapi syarat dasar
Untuk diskusi ini, geografer dan kartografer sepertinya bisa memberi saran yang lebih berguna
Menarik bahwa jika memilih 10.000 permukiman terbesar di dunia, batasnya turun sampai populasi 48.000
Saya masih menilai apakah angka ini mengejutkan atau tidak
Bahkan jika diperluas menjadi 200, masih tetap di atas 100 ribu orang. Menurut Wikipedia, Daly City, CA di peringkat #333 memiliki populasi 100.007: <https://en.wikipedia.org/wiki/List_of_United_States_cities_b...>
Distribusi skala seperti ini, seperti banyak situasi penskalaan lain, umumnya mendekati linear pada grafik log-log
Di China, perlu sampai peringkat 106 sebelum muncul kota dengan populasi di bawah 1 juta. Di AS, kota seperti itu hanya ada 9
Saya baru cek India: ada 46 kota dengan populasi di atas 1 juta; Malegaon di peringkat 100 berpenduduk 471 ribu, dan Aurangabad di peringkat 300 pun masih di atas 100 ribu
Namun, “kota” adalah definisi yang sangat arbitrer. Sebagian kota terbesar di dunia, menurut standar negara lain, bisa dianggap kawasan metropolitan, bahkan setara negara bagian atau provinsi
Kota terbesar berdasarkan luas justru berpenduduk sangat sedikit. Sermersooq di Greenland berpenduduk 24.148 orang dan luasnya 575.300 km², sekitar 144 kali Rhode Island; di antara negara bagian AS, hanya Texas dan Alaska yang lebih besar. Alaska pun hanya sekitar 12% lebih besar
Geografi perkotaan adalah bidang yang kompleks, jadi biasanya berbagai skala dan definisi seperti wilayah statistik metropolitan, luas area terbangun, dan populasi dibandingkan bersama. Dengan begitu, sifat arbitrer batas politik bisa dikurangi dan total populasi serta dampak ekonomi bisa tercermin dengan lebih baik
Cukup mengejutkan bahwa ukuran file-nya tetap sebesar ini meski perbatasannya sekasar itu
Sepertinya ukuran data totalnya jauh di bawah titik keseimbangan antara kegunaan dan ukuran file. Misalnya, meski ukurannya dua kali lipat, perbatasannya tidak akan sebergerigi ini
Dari penjelasan bahwa “semua data versi lengkap selain perbatasan dan garis pantai tersedia, sehingga ukurannya berkurang 200KB”, berarti sekitar 29% adalah data perbatasan/garis pantai dan 71% adalah nama serta lokasi kota
Secara pribadi, saya rasa banyak kota bisa dihapus. Terutama kota-kota yang saling bertumpuk; kota seperti itu baru terlihat jika diperbesar sampai daratan abu-abu dan nama kotanya tampak, jadi lebih baik kapasitasnya dipakai untuk membuat garis pantai lebih akurat
Saya juga tidak yakin seberapa sering posisi pada peta dunia umum dibutuhkan. Misalnya di situs web titik minat yang sedang dilihat, bukankah peta berukuran kecil yang memuat jalan tol sekitar dan rute transportasi umum untuk menuju ke sana akan lebih sering dibutuhkan?
Jika membuat versi yang membagi seluruh Bumi dalam satuan beberapa km², dengan ukuran sepersepuluh pun sepertinya bisa memuat detail yang cukup berguna. Peta low-poly seluruh Bumi memang mungkin berguna untuk hal seperti pelacakan Stasiun Luar Angkasa Internasional, tetapi tampaknya jauh lebih jarang
Walaupun populasinya kurang dari 40 ribu, ibu kota harus selalu disertakan, dan harus diberi tanda bintang dengan cara tertentu
Benar-benar keren. Mengesankan bahwa ini bisa dimuat secepat itu di ponsel
Ide mengompresi data spasial menjadi Paths sangat bagus
Untuk menghindari lisensi ODbL, menggunakan data Natural Earth alih-alih OSM juga akan bagus
Akan sangat bagus juga jika disertakan alat untuk mengonversi data spasial menjadi Paths