Roman Shuvalov: "Saya mendapat ide untuk membuat render 3D peta OpenStreetMap"



Roman Shuvalov adalah pengembang game indie berbasis Togliatti yang merilis Generation Streets awal tahun ini, berdasarkan data OpenStreetMap. Belum lama berselang dia membuka sebagian kode proyeknya. Mengapa dia melakukannya, bagaimana permainan itu muncul dan mengapa pilihan jatuh pada OSM - Roman menceritakan semua ini dalam sebuah wawancara.



- Bagaimana dan kapan Anda mendengar tentang proyek OpenStreetMap?



- Itu terjadi sekitar 5 tahun yang lalu - pada 2014-2015, ketika saya mencari solusi yang memungkinkan pengguna membuat peta untuk kebutuhan mereka sendiri. Saat itu, saya sudah memiliki proyek web kecil - peta jalan dan jalur hutan Togliatti. Itu dibuat di layanan Yandex.Maps, di atas latar belakang standar yang dilapiskan lapisan vektor dengan objek yang saya butuhkan. Ngomong-ngomong, lapisan ini dibuat berdasarkan trek GPS yang direkam oleh saya dan anggota klub bersepeda kami. Itu seperti peta panas Strava. Pada titik tertentu, saya menyadari bahwa saya menginginkan sesuatu yang lebih dan mulai berpikir tentang cara meningkatkan kartu saya.







Hasilnya, saya belajar tentang OpenStreetMap. Ketika saya pertama kali melihatnya, saya sangat terkejut: Saya dikejutkan oleh keterbukaan dan fleksibilitas yang luar biasa dari proyek ini. Saya tidak hanya dapat dengan bebas menggunakan data awalnya, tetapi juga mengambil bagian dalam menggambar peta, yang menurut saya cukup penting.



Secara bertahap, dengan menggunakan trek GPS yang saya miliki, saya telah menggambar hutan Togliatti dan infrastruktur terkait di OSM . Setelah saya membuat render sendiri, bisa dilihat di peta Sepeda wilayah Samara... Keunikannya adalah bahwa bahkan pada skala kecil (mulai dari 10) jalur dan objek lain yang dapat berguna bagi pengendara sepeda ditampilkan. Sementara pada render standar pada skala 10 dan bahkan 12, peta memiliki tingkat detail yang agak rendah, yang terutama terlihat saat mencoba membangun rute bersepeda melalui ladang dan hutan.





Peta sepeda wilayah Samara. Jalan kecil dan permukiman terlihat bahkan dalam skala besar.



- Mengapa Anda akhirnya tinggal di proyek? Bagaimanapun, mereka hanya dapat menggambar jalur yang Anda butuhkan dan hanya itu.



- Menggambar peta di OSM adalah aktivitas yang berbahaya, karena sangat membuat ketagihan, maka sulit untuk dihentikan. Bagaimana biasanya itu terjadi? Saya menandai jalannya, tetapi melihat ada sebuah bangunan di dekatnya, tetapi tidak ada di peta. Ditambahkan. Kemudian saya menyadari bahwa seharusnya masih ada trotoar, dan di belakangnya ada jalan ... dan seterusnya. Anda didorong oleh perasaan keindahan: Anda ingin segalanya indah, dan tidak hanya di tempat Anda tinggal, tetapi di mana pun. Itulah mengapa saya bertahan dalam proyek ini. Benar, sekarang saya tidak menggambar sebanyak dulu, tapi saya masih pelan-pelan terus membuat OSM lebih akurat. Pada dasarnya, saya mengoreksi ketidakakuratan kecil atau memperbarui peta - Saya menambahkan objek baru yang secara bertahap muncul di lokasi yang saya minati.



- Mengapa Anda tertarik dengan kartografi? Ini masih hobi yang agak tidak biasa.



- Mungkin, ini berasal dari keinginan batin untuk mengetahui apa yang ada di sekitar Anda, dan lebih jauh dari yang bisa dilihat oleh mata Anda. Dan saya selalu memiliki perasaan ini. Saya teringat saat SMA saya bereksperimen dengan GIS, misalnya saya menulis aplikasi di Delphi (waktu itu saya hanya bisa memprogram di dalamnya) yang membangun peta tiga dimensi wilayah Samara. Selain itu, pada saat itu tidak ada kumpulan data terbuka, atau saya sama sekali tidak tahu apa-apa tentangnya, oleh karena itu saya mengambil data elevasi dari atlas kertas biasa. Saya memindainya dan membuat model 3D menggunakan beberapa plugin. Jadi saya memiliki ketertarikan pada kartografi, atau lebih tepatnya pada visualisasi dunia sekitar, untuk waktu yang lama.



- Mari kita bicara tentang game 3D Anda, Generation Streets, yang didasarkan pada data OSM. Bagaimana dia lahir?



- Saya akan segera mencatat bahwa saya telah mengembangkan game sejak 2010. Sedangkan untuk game khusus ini, beberapa tahun yang lalu, secara tidak sengaja, ide muncul di benak saya - untuk membuat render tiga dimensi dari peta OSM. Dan seluruh planet sekaligus. Saya melihat proyek serupa yang sudah ada ( F4map , Gedung OSM ), tetapi, sayangnya, tidak ada yang memuaskan saya - mereka terlalu skematis. Saya ingin rendering yang lebih realistis: dengan tekstur, puing-puing visual dalam bentuk pohon, lentera, dll. Singkatnya, dengan omong kosong yang biasanya tidak kita perhatikan, tetapi tanpanya dunia tidak terlihat hidup.







- Dan bagaimana Anda mulai berkembang?



- Dari pencarian metode pemrosesan data massal, semenjak saya ingin membuat seluruh planet sekaligus. Saya butuh banyak waktu. Awalnya saya mencoba melakukan ini melalui database yang berbasis osm2vectortiles . Tetapi tidak berhasil karena saya memiliki komputer yang lemah.



Pada akhirnya, saya memilih dua program kecil: Osmconvert dan Osmfilter . Untuk pekerjaan mereka, meningkatkan database tidak diperlukan. Mereka mengambil data OSM dalam format PBF dan memungkinkan Anda untuk memotong bagian yang diinginkan melalui parameter baris perintah. Jadi, saya mendapat kesempatan untuk memotong seluruh planet menjadi ubin tanpa masalah yang tidak perlu.



Tetapi saya segera menemukan yang berikut ini: format PBF tidak sepenuhnya nyaman untuk menghasilkan rendering tiga dimensi, dan oleh karena itu perlu mengubahnya menjadi format yang sesuai untuk ini. Untuk melakukan ini, saya harus menulis beberapa utilitas tambahan, yang kode sumbernya telah saya buat di bawah lisensi gratis di GitHub. Mereka sebagian didasarkan pada perpustakaan ogr2ogr .



Hasilnya, saya berhasil membuat format ubin vektor saya sendiri, yang menurut saya sangat nyaman untuk membaca di dalam perender dan menghasilkan model tiga dimensi. Selain itu, ini memungkinkan Anda menggabungkan ubin menjadi arsip besar, yang menyederhanakan penyimpanannya. Berkat fitur ini, saya tidak memiliki miliaran file, tetapi hanya beberapa ratus.







- Mengapa Anda memutuskan untuk membuat format Anda sendiri? Saya berasumsi bahwa sudah ada solusi yang siap pakai.



- Ya, Anda benar: format yang sudah jadi sudah ada, termasuk yang vektor, misalnya, dari Mapbox, tetapi intinya adalah format tersebut difokuskan pada gambar datar - dua dimensi. Dan mereka memiliki satu ciri yang tidak menyenangkan: jika sebuah bangunan mengenai persimpangan ubin, maka itu dipotong. Bagi saya, ini sama sekali tidak dapat diterima, karena agar nantinya saya dapat membuat model 3D dari bangunan tersebut, haruslah utuh. Tidak ada solusi yang siap pakai untuk masalah ini. Saya pikir tidak ada yang pernah menemukan ini sebelumnya. Jadi saya memutuskan untuk melakukan sesuatu sendiri.







- Bisakah Anda membagikan statistik Anda tentang permainan? Apa ulasannya?



- Sejak dipublikasikangame di Steam (akses awal - Oktober 2018, rilis "penuh" - Februari 2020) telah diunduh oleh sekitar 3 ribu orang. Untuk jenis game ini, indie cukup bagus. Penting juga untuk mempertimbangkan hal berikut: gim ini memiliki aspek gim yang buruk. Dan saya segera menyadari bahwa dalam kerangka proyek ini saya tidak akan pernah bisa membuatnya lebih menyenangkan. Oleh karena itu, dia adalah apa adanya.



Minat utama dalam game ini adalah bahwa pengguna memiliki kesempatan untuk mengunduh wilayah yang menarik untuknya di planet Bumi dan terbang ke sana. Sebagian besar game tidak memiliki opsi ini. Misalnya, mereka yang tinggal di New York secara teratur bersukacita karena game lain telah dirilis di mana kota ini telah dibuat ulang dengan cukup detail. Dan mereka yang tinggal di Togliatti kemungkinan besar tidak akan pernah menunggu game dibuat di lokasi kota mereka. Itulah yang saya pertaruhkan.



Tetapi karena banyak, selain kemampuan untuk mengunduh kota mereka sendiri, juga mengharapkan gameplay yang dirancang dengan cermat, saya menerima beberapa ulasan negatif pada bagian ini. Mereka memang pantas mendapatkannya. Saya awalnya siap untuk ini, karena game saya bukan tentang gameplay, tidak peduli seberapa aneh kedengarannya, tetapi tentang visualisasi data dan kemampuan untuk terbang ke mana pun di dunia.







- Game Anda menggunakan data OSM. Apakah mungkin untuk mengeditnya?



- Awalnya, saya ingin menyematkan editor OSM, tetapi setelah sedikit percobaan, saya memutuskan untuk tidak melakukannya. Untuk sementara, pengguna memiliki kesempatan untuk mengedit. Hasil edit ini tidak langsung ke OSM, tetapi "menetap" di database lokal. Ternyata para pemain jauh dari dunia OSM, dan oleh karena itu mereka bereaksi sangat tidak bertanggung jawab terhadap peta tersebut. Sekarang saya berpikir untuk menonaktifkan bahkan editor eksperimental ini, dan mengirim semua orang yang ingin pergi ke JOSM.



- Sejauh yang saya mengerti, Anda membuka kode untuk game Anda dan mempostingnya di bawah lisensi terbuka. Kenapa kamu melakukan ini? Apakah keputusan ini sulit dibuat?



- Saya tidak membuka keseluruhan game, tetapi hanya kode yang bertanggung jawab untuk menghasilkan model 3D. Pertama, saya melakukannya untuk berbagi pekerjaan saya dengan komunitas, karena saya merasakan hutang tertentu kepadanya, karena saya sendiri menggunakan open source, yang ditulis oleh programmer lain. Kedua, kemungkinan besar, saya tidak akan lagi membuat perubahan serius pada produk ini, tetapi pada saat yang sama saya berasumsi bahwa ini mungkin menarik bagi seseorang dan bahkan seseorang akan berusaha mengembangkannya. Ketiga, saya ingin kode saya digunakan dan membantu orang memecahkan masalah mereka. Soalnya, akan ada lebih banyak proyek yang berhubungan dengan rendering 3D, dan mungkin mereka akan menyertakan kampung halaman saya di Togliatti.







- Apa yang kamu suka tentang OSM?



- Saya suka lisensi terbuka dan kemampuan untuk mendapatkan data, bukan hanya ubin yang sudah jadi. Misalnya, saya membuat video game. Tidak ada layanan peta lain yang memungkinkan saya melakukan ini dengan mudah. Minimal, Anda harus menghubungi pengembang dan meminta data awal. Dan saya tidak yakin raksasa industri akan menemui saya di tengah jalan. Segera saya mengambil dan mengunduh seluruh planet dan melakukan semua yang saya butuhkan dengannya.

Saya juga suka bahwa siapa pun dapat mengambil bagian dalam proyek dan membuat peta lebih akurat. Editor JOSMtidak terlalu sulit. Dan pada saat yang sama, Anda tidak perlu menunggu hingga hasil edit Anda diterima atau disetujui - segera setelah Anda mengirimkannya, hasil edit tersebut langsung ada di database utama, yang berarti Anda dapat segera menggunakannya untuk kebutuhan Anda. Misalnya, perbarui peta di navigator Anda.



- Apa yang tidak disukai?



- Tag kelimpahan dan tidak sistematis. Ini tidak selalu bagus. Selain itu, inilah saatnya untuk menghasilkan sesuatu dengan offset. Terkadang Anda membuka sebuah kota dan menyadari bahwa seseorang melukisnya tanpa memperhitungkan nuansa ini. Dan Anda tidak tahu apa yang harus dilakukan: mentransfer semuanya atau terus menggambar di offset yang salah? Tentu saja, saya mengerti bahwa dunia ini tidak sempurna, Anda harus mengatasi beberapa masalah. Secara umum, OSM memiliki lebih banyak kelebihan daripada kekurangan.



- Apa yang bisa dilakukan lebih baik?



- Saya ingin melihat editor web yang bagus. Ya, sudah ada iD , tetapi ditujukan untuk pemula. Saya ingin sesuatu yang lebih nyaman. Juga, menurut saya akan jauh lebih baik jika objek di dalam OSM entah bagaimana terkait satu sama lain. Sekarang, jika ada perubahan pada bentuk bangunan atau posisi jalan yang lewat di dekatnya berubah, maka perubahan ini tidak mempengaruhi objek di sekitarnya sama sekali. Kalaupun setelah berganti, misalnya, jalan mulai melewati bagian atas rumah. Saya tidak tahu bagaimana tepatnya interaksi semacam itu dapat diterapkan, tetapi saya ingin informasi tentang dependensi tersedia. Kemudian, misalnya, jalur angkutan umum tidak akan putus jika jalan tersebut diedit. Saya rasa ini akan membuat data OSM lebih nyaman untuk diedit dan digunakan lebih lanjut.



- Apakah Anda menggunakan OSM dalam kehidupan pribadi Anda? Untuk bekerja? Kecuali untuk game tersebut.



- Dalam kehidupan sehari-hari, menggunakan navigator ponsel OruxMaps dan maps.me . Keduanya offline, artinya, Anda dapat bekerja dengan peta tanpa Internet, peta mereka didasarkan pada OSM. Yang saya suka dari OruxMaps adalah ia juga memungkinkan Anda untuk menggunakan peta Anda sendiri dalam format vector mapsforge .



- Saran apa yang Anda miliki untuk pemula? Atau mereka yang hanya berpikir: terlibat dengan proyek atau tidak.



- Jika Anda menggunakan navigator seluler apa pun yang didasarkan pada OSM, pertimbangkan untuk mulai membuat peta yang Anda gunakan, dengan lebih akurat,. Lagi pula, banyak yang tidak tahu bahwa peta itu dapat diedit, terlebih lagi, langsung dari telepon.

Bagi yang sudah familiar dengan OSM dan bahkan sedikit charting, tips pertama dan utama adalah membaca WikiOSM sebelum mengedit peta . Hampir semuanya ada di sana. Ini akan menyelamatkan Anda dari banyak kesalahan, dan juga akan memungkinkan Anda untuk mengadopsi budaya pemetaan dan menjadi lebih sadar akan tanggung jawab Anda kepada mereka yang kemudian akan menggunakan peta yang Anda edit. Jangan pernah lupa bahwa data OSM digunakan dalam banyak proyek, dan oleh karena itu selalu berusaha untuk menjaga kualitas data yang dimasukkan.



- Apa yang akan kamu katakan di akhir percakapan?



- Sekeras kedengarannya, saat ini OSM adalah satu-satunya proyek kartografi terbuka dan gratis di dunia. Ini adalah alternatif independen untuk layanan pemetaan komersial. Itulah mengapa Anda perlu mengambil bagian di dalamnya dan mengembangkannya dengan segala cara yang memungkinkan. Bagaimanapun, jika OpenStreetMap tidak ada lagi, kita semua akan dipaksa untuk menggunakan peta komersial dengan syarat yang akan diberlakukan seseorang pada kita. Dan Anda bisa melupakan tentang penggunaan geodata secara gratis.






Peserta OpenStreetMap Rusia berkomunikasi di obrolan Telegram dan di forum .

Ada juga grup di jejaring sosial VKontakte , Facebook , tetapi mereka terutama menerbitkan berita.



Bergabunglah dengan OSM!






Wawancara sebelumnya:
, , , , , , , , , , , , , , , , , wowik, SviMik, , , , , , aka BANO.notIT, , , , , .




All Articles