
Beberapa bulan yang lalu, kami meluncurkan
peta interaktif gratis pertama di dunia, yang dengannya Anda dapat melihat informasi tentang bidang apa pun di AS dan Eropa. Lusinan publikasi menulis tentang peta itu, dan di Product Hunt ia mengumpulkan satu setengah ribu suka untuk suatu produk dari sektor pertanian (dan akhirnya menjadi AI & Machine Learning Product of the Year 2018). Kami mengembangkan peta selama dua bulan - begitulah.
Peta interaktif didasarkan pada algoritma pembelajaran mesin dan citra satelit. Ini berisi informasi tentang 60 juta bidang dan 27 budaya di 44 negara Eropa dan Amerika Serikat. Data - selama tiga tahun. Kami mengenali semua bidang dengan bantuan ML dari gambar satelit. Dengan menggunakan peta, Anda dapat memantau tren di tingkat negara dan wilayah, dan mengamati perkembangan bidang tertentu. Misalnya, Anda dapat mengetahui berapa banyak lahan yang ditempati oleh jagung di Amerika Serikat pada 2016 (49,1 juta hektar) atau wilayah Belgia mana yang memiliki ladang gandum paling banyak (Wallonia).
Eropa dengan zoom minimumDengan menggunakan peta, Anda juga dapat menemukan informasi tentang bidang yang terpisah: ukurannya, budaya, jadwal pengembangan dan indikator Skor Bidang yang komprehensif. Ini dihitung oleh indeks NDVI, indikator iklim dan produktivitas lapangan relatif. Kapan saja, Anda dapat melihat bagaimana bit berkembang di ladang Anda atau daerah apa yang tetangga tetapkan untuk legum tahun lalu. Antara lain, itu indah. Kami membuat tombol "bidang indah acak": ini menggerakkan Anda ke 35+ tempat di seluruh dunia, yang masing-masingnya tampak seperti karya seni abstrak.
Gagasan membuat kartu seperti itu muncul pada bulan Juli tahun lalu. Kami tidak memiliki alat yang memungkinkan kami menunjukkan dengan jelas semua kemampuan teknologi kami. Pada bulan Agustus, seluruh tim mulai berkembang dengan cermat.
Data: kumpulkan, proses, kompres
Saat mengembangkan peta, kami menggunakan gambar satelit Sentinel-2 dari program Copernicus Uni Eropa. Secara total, sekitar 250 terabyte informasi diproses untuk Eropa dan Amerika Serikat. Pada tahap pertama, kami melakukan preprocessing gambar: kami membersihkan awan, bayangan, salju, dan melakukan kompresi data. Kemudian, pada 50 terabyte yang dihasilkan, mereka meluncurkan proses pencarian batas-batas lapangan dan mengklasifikasikan budaya pada model pembelajaran mesin kami. Pada output, kami menerima sekitar 250 gigabytes peta vektor yang berisi bidang geometri dan budaya.
Untuk memproses data dan menghitung statistik, kami menggunakan database PostgreSQL dan PostGIS. Setelah mengekspor data vektor asli, kami mendapat database di mana ada sekitar 180 juta rekaman geometri lapangan, serta lebih dari satu miliar rekaman informasi atribut tambahan tentang bidang itu sendiri selama tiga tahun. Dengan volume data yang demikian, kami menghitung statistik, peringkat, menentukan popularitas berbagai budaya di wilayah dunia - segala sesuatu yang ditampilkan pada peta di kolom kiri dan kiat-kiat interaktif.
Bidang KroasiaKami ingin cepat menghitung dan menampilkan indikator agronomis untuk lapangan, serta memvisualisasikan grafik pengembangan tanaman selama musim. Untuk melakukan ini, kami menggunakan pendekatan kami sendiri untuk caching dan kompresi data satelit. Ini memungkinkan kami untuk mengurangi ukuran gudang data hingga 100-200 kali, dan mengurangi kecepatan memperoleh informasi di lapangan menjadi 1 detik.
Juga di versi peta ini, kami menambahkan indikator Skor Bidang yang komprehensif, yang memungkinkan Anda untuk dengan cepat mengevaluasi peringkat lapangan. Skor Lapangan adalah langkah pertama menuju perkiraan hasil, yang saat ini sedang dikerjakan oleh tim kami. Peta dibuat dalam waktu singkat, jadi saya harus menemukan banyak solusi asli saat bepergian. Tetapi kami menerapkan semua perkembangan baru dalam pekerjaan pada produk utama kami.
Peta: pilih format dan siapkan data
Untuk memvisualisasikan data, kami menggunakan Mapbox. Ada dua pendekatan untuk membuat peta, kami mencoba keduanya. Yang pertama melibatkan pembuatan peta raster. Dalam hal ini, kami membagi peta menjadi kotak, yang kami render menjadi gambar dan disimpan di server. Peramban mengunduh beberapa gambar dan memindahkannya saat pengguna bergerak di sekitar peta. Pendekatan ini memungkinkan Anda untuk menampilkan semua bidang, Anda tidak perlu menyaring apa pun. Ini indah, minusnya adalah bahwa peta itu statis, ditambah gambar bitmap sangat berbobot.
Pendekatan kedua adalah membuat peta vektor. Browser memuat data vektor dan menghidupkannya di sisi klien. Ini adalah cara modern peta Google dan Yandex bekerja. Berat data kurang dari gambar dan memungkinkan Anda untuk mengubah desain elemen apa pun. Peta ini dapat dibuat oleh layanan Mapbox, khususnya, perpustakaan Mapbox GL mereka adalah alat sumber terbuka untuk menampilkan peta di web. Antara lain, Mapbox menyediakan layanan penyimpanan peta berbayar. Anda dapat secara manual mengunggah data ke server mereka, dan Mapbox akan dengan cepat mendistribusikan informasi, memastikan operasi peta yang akurat. Ini adalah bagian penting dari pekerjaan ini, dan berkat kenyataan bahwa Mapbox mengambilnya sendiri, tugas tim telah sangat disederhanakan.
Emilia Romagna, ItaliaKetika bekerja dengan data vektor, ada batasan kondisional: semakin banyak informasi yang ingin Anda tampilkan di peta, semakin lambat semuanya akan berfungsi. Untuk mengatasi masalah ini, kami menggunakan utilitas dari Mapbox yang disebut Tippecanoe. Berdasarkan algoritme yang kami pilih, ditentukan pada zoom mana bidang tertentu akan terlihat dan mana yang tidak, dan menghapus objek vektor yang tidak terlihat dari lapisan. Secara total, Tippecanoe memiliki lebih dari 20 algoritma penyaringan, kami mencoba semuanya dan memilih beberapa yang dasar. Kami menyiapkan data sehingga disiapkan menggunakan teknologi mbtiles dari Mapbox hingga 50 gigabyte, dan kemudian mengunggahnya ke server perusahaan.
Penggunaan kerangka JS Selanjutnya, yang melakukan rendering sisi server dari halaman, memungkinkan untuk mempercepat peta lebih jauh. Sebagian besar aplikasi di dunia modern diberikan sepenuhnya pada sisi klien: ketika jendela dibuka, browser menampilkan halaman hmtl kosong dan skrip yang memuat semua informasi. Kerangka kerja JS Selanjutnya merender semua yang ada di server, dan ini membuat pemuatan aplikasi lebih cepat untuk klien.
Peta: mengatur visual dan datang dengan "tombol ajaib" malam sebelum rilis
Mapbox adalah penemuan yang menyenangkan bagi desainer kami. Layanan ini menyederhanakan tugasnya karena ia dapat memvisualisasikan data tanpa melibatkan pengembang front-end. Dari luar mungkin tampak mudah untuk mewarnai bidang di antarmuka yang sudah jadi, tetapi ada banyak nuansa. Kami memiliki 27 budaya, dan memilih warna untuk mereka tidaklah mudah. Untuk budaya populer, warna kontras diperlukan, untuk warna yang kurang populer, kurang kontras, dan semuanya harus terlihat jelas pada tingkat zoom yang berbeda. Peta ini memiliki banyak petunjuk bersarang dan interaktif, sehingga hal yang paling sulit adalah memikirkan logika transisi pada tingkat yang berbeda.
Malam sebelum rilis, kami menyadari bahwa meskipun menarik untuk melihat peta dan angka, saya tidak ingin membagikan ini di jejaring sosial. Karena itu, kami memutuskan untuk menambahkan tombol “bidang indah acak”, yang melemparkan pengguna ke berbagai tempat di planet ini. Di seluruh kantor kami mencari tempat-tempat yang indah, dalam satu jam kami menggambar tombol dan kami membuat semuanya. Di pagi hari kami mengujinya dan memulainya. Tampaknya fungsi inilah yang memberi kami begitu banyak liputan. Kalau tidak, tidak ada yang akan memperhatikan fakta bahwa bidangnya mirip dengan lukisan abstrak. Jangan meremehkan kekuatan keputusan menit terakhir.
Bidang PerancisKami menambahkan fungsi lain ke peta setelah peluncuran. Kami tahu bahwa terkadang kami tidak mengenali bidang dan budaya di peta dengan tepat, dan umpan balik pengguna memungkinkan kami meningkatkan algoritme kami. Setelah rilis, petani mulai mengirim pesan tentang ketidakakuratan dalam pengakuan tanaman: "Saya memiliki bunga matahari yang tumbuh di ladang, dan Anda memiliki jagung." Untuk mengatasi masalah ini, kami menambahkan tombol ke kartu bidang yang mengirimkan pemberitahuan kesalahan kepada kami. Informasi yang kami gunakan digunakan untuk meningkatkan akurasi model pengenalan tanaman kami.
Pada akhirnya
Selama pengembangannya, konsep kartu menjadi jauh lebih rumit. Jika pada awalnya kami berencana untuk membuat visualisasi sederhana dari ladang dan tanaman di seluruh dunia, maka produk akhirnya ternyata jauh lebih kompleks. Tetapi kartu itu sepadan dengan usaha. Setelah rilis, ratusan investor, yayasan dan peneliti ilmiah menulis kepada kami. Kami akan menggunakan bagian dari solusi teknologi, misalnya, kerangka JS Selanjutnya dan utilitas Tippecanoe, untuk bekerja pada platform web pertanian presisi
OneSoil gratis kami.
Kami adalah yang pertama memetakan semua bidang di AS dan Eropa dalam tiga tahun. Data yang kami terima unik. Sudah, kita tahu lebih banyak tentang ladang daripada perusahaan atau negara bagian mana pun. Dan statistik yang kami dapatkan menggunakan algoritma pembelajaran mesin seringkali lebih akurat daripada yang dikumpulkan secara manual. Kami telah mengambil langkah pertama untuk secara otomatis mengenali bidang di seluruh dunia - ini adalah rencana kami untuk waktu dekat.