60 millions de champs et 27 cultures. Comment nous avons fait une carte de tous les domaines de l'Europe et des USA



Il y a quelques mois, nous avons lancé la première carte interactive gratuite au monde , avec laquelle vous pouvez voir des informations sur n'importe quel domaine aux États-Unis et en Europe. Des dizaines de publications ont écrit sur la carte, et sur Product Hunt, elle a recueilli un millier et demi de likes sans précédent pour un produit du secteur agricole (et est finalement devenu le produit AI & Machine Learning de l'année 2018). Nous avons développé la carte pendant deux mois - c'est comme ça.

La carte interactive est basée sur des algorithmes d'apprentissage automatique et des images satellites. Il contient des informations sur 60 millions de champs et 27 cultures dans 44 pays d'Europe et des États-Unis. Données - pendant trois ans. Nous avons reconnu tous les domaines à l'aide de ML à partir d'images satellites. À l'aide de la carte, vous pouvez à la fois suivre les tendances au niveau des pays et des régions et observer le développement d'un domaine spécifique. Par exemple, vous pouvez savoir combien de terres ont été occupées par le maïs aux États-Unis en 2016 (49,1 millions d'hectares) ou quelle région de Belgique a le plus de champs de blé (Wallonie).


L'Europe au zoom minimum

En utilisant la carte, vous pouvez également trouver des informations sur un champ distinct: sa taille, sa culture, son calendrier de développement et un indicateur de terrain complet. Il est calculé par l'indice NDVI, les indicateurs climatiques et la productivité relative des champs. À tout moment, vous pouvez voir comment les betteraves se développent dans votre champ ou quelle zone le voisin a alloué pour les légumineuses l'année dernière. Entre autres, c'est beau. Nous avons créé le bouton «Champs magnifiques aléatoires»: il vous déplace vers plus de 35 endroits à travers le monde, dont chacun ressemble à une œuvre d'art abstrait.

L'idée de créer une telle carte est apparue en juillet de l'année dernière. Il nous manquait un outil qui nous permettrait de démontrer clairement toutes nos capacités technologiques. En août, toute l'équipe a commencé à se développer étroitement.

Données: collecter, traiter, compresser


Lors de l'élaboration de la carte, nous avons utilisé des images du satellite Sentinel-2 du programme Copernicus de l'Union européenne. Au total, environ 250 téraoctets d'informations ont été traités pour l'Europe et les États-Unis. À la première étape, nous avons fait le prétraitement des images: nous avons nettoyé les nuages, les ombres, la neige et effectué la compression des données. Puis, sur les 50 téraoctets résultants, ils ont lancé le processus de recherche des limites de champ et de classification des cultures sur nos modèles d'apprentissage automatique. À la sortie, nous avons reçu environ 250 gigaoctets de cartes vectorielles contenant des géométries de champ et des cultures.

Pour traiter les données et calculer les statistiques, nous avons utilisé les bases de données PostgreSQL et PostGIS. Après avoir exporté les données vectorielles originales, nous avons obtenu une base de données dans laquelle il y avait environ 180 millions d'enregistrements de géométrie de champ, ainsi que plus d'un milliard d'enregistrements d'informations d'attributs supplémentaires sur les champs eux-mêmes sur trois ans. Sur cette quantité de données, nous avons calculé des statistiques, des évaluations, déterminé la popularité de différentes cultures dans les régions du monde - tout ce qui est affiché sur la carte dans la colonne de gauche et des conseils interactifs.


Domaines de la Croatie

Nous voulions calculer et afficher rapidement des indicateurs agronomiques pour le champ, ainsi que visualiser un graphique du développement des plantes au cours de la saison. Pour ce faire, nous avons utilisé notre propre approche de mise en cache et de compression des données satellite. Cela nous a permis de réduire la taille de l'entrepôt de données de 100 à 200 fois et de réduire la vitesse d'obtention des informations sur le terrain à 1 seconde.

Également dans cette version de la carte, nous avons ajouté un indicateur complet de score de terrain, qui vous permet d'évaluer rapidement la note de terrain. Le Field Score est la première étape vers la prévision du rendement, sur laquelle notre équipe travaille actuellement. La carte a été réalisée en peu de temps, j'ai donc dû inventer de nombreuses solutions originales en déplacement. Mais nous appliquons tous les nouveaux développements dans le travail sur notre produit principal.

Carte: choisissez le format et préparez les données


Afin de visualiser les données, nous avons utilisé Mapbox. Il existe deux approches pour créer une carte, nous avons essayé les deux. La première consiste à créer une carte raster. Dans ce cas, nous divisons la carte en carrés, que nous rendons en images et stockons sur le serveur. Le navigateur télécharge plusieurs images et les déplace lorsque l'utilisateur se déplace sur la carte. Cette approche vous permet d'afficher tous les champs, vous n'avez rien à filtrer. C'est beau, le moins est que la carte est statique, plus les images bitmap pèsent beaucoup.

La deuxième approche consiste à créer une carte vectorielle. Le navigateur charge les données vectorielles et les anime côté client. C'est ainsi que fonctionnent les cartes Google et Yandex modernes. Les données pèsent moins que les images et vous permettent de modifier la conception de n'importe quel élément. Cette carte peut être réalisée par le service Mapbox, en particulier, leur bibliothèque Mapbox GL est un outil open source pour afficher des cartes sur le web. Mapbox propose entre autres un service de stockage de cartes payant. Vous pouvez télécharger manuellement vos données sur leurs serveurs et Mapbox distribuera rapidement les informations, garantissant un fonctionnement précis de la carte. Ceci est une partie essentielle du travail, et grâce au fait que Mapbox se charge de lui-même, la tâche de l’équipe a été grandement simplifiée.


Émilie-Romagne, Italie

Lorsque vous travaillez avec des données vectorielles, il existe une limitation conditionnelle: plus vous souhaitez afficher d'informations sur la carte, plus tout fonctionnera lentement. Pour résoudre ce problème, nous avons utilisé un utilitaire de Mapbox appelé Tippecanoe. Sur la base des algorithmes que nous avons sélectionnés, il a déterminé quels champs de zoom seraient visibles et lesquels ne l'étaient pas, et a supprimé les objets vectoriels invisibles de la couche. Au total, Tippecanoe possède plus de 20 algorithmes de filtrage, nous avons tout essayé et sélectionné quelques-uns de base. Nous avons préparé les données ainsi préparées en utilisant la technologie mbtiles de Mapbox jusqu'à 50 gigaoctets, puis les avons téléchargées sur les serveurs de l'entreprise.

L'utilisation du framework Next JS, qui effectue le rendu côté serveur de la page, a permis d'accélérer encore plus la carte. La plupart des applications dans le monde moderne sont entièrement rendues côté client: lorsqu'une fenêtre est ouverte, le navigateur affiche une page hmtl vide et un script qui charge toutes les informations. Le framework Next JS restitue tout sur le serveur, ce qui accélère le chargement de l'application pour le client.

Carte: configurez le visuel et créez un «bouton magique» la veille de la sortie


Mapbox a été une agréable découverte pour notre designer. Le service a simplifié sa tâche car il a pu visualiser les données sans impliquer un développeur frontal. De l'extérieur, il peut sembler qu'il est facile de coloriser les champs dans l'interface terminée, mais il existe de nombreuses nuances. Nous avons 27 cultures et choisir des couleurs pour elles n'a pas été facile. Pour les cultures populaires, des couleurs contrastées sont nécessaires, pour des couleurs moins populaires et moins contrastées, et elles devraient toutes être clairement visibles à différents niveaux de zoom. La carte a beaucoup d'imbrication et d'indices interactifs, donc la chose la plus difficile a été de penser la logique des transitions à différents niveaux.

La veille de la sortie, nous avons réalisé que bien qu'il soit intéressant de regarder la carte et les chiffres, je ne veux pas partager ça sur les réseaux sociaux. Par conséquent, nous avons décidé d'ajouter le bouton "Champs magnifiques aléatoires", qui jette les utilisateurs entre différents endroits de la planète. Dans tout le bureau, nous avons cherché de beaux endroits, en une heure, nous avons tiré un bouton et nous avons tout inventé. Le matin, nous l'avons testé et commencé. Il semble que c'est cette fonction qui nous a donné tant de couverture. Sinon, personne n'aurait fait attention au fait que les champs sont similaires aux peintures abstraites. Ne sous-estimez pas le pouvoir des décisions de dernière minute.


Champs de France

Nous avons ajouté une autre fonction à la carte après le lancement. Nous savions que parfois nous ne reconnaissons pas exactement les champs et les cultures sur la carte, et les commentaires des utilisateurs nous permettent d'améliorer nos algorithmes. Après la publication, les agriculteurs ont commencé à envoyer des messages sur les inexactitudes dans la reconnaissance des cultures: «J'ai du tournesol qui pousse sur le terrain et vous avez du maïs. Pour résoudre ce problème, nous avons ajouté un bouton à la carte de champ qui nous envoie des notifications d'erreur. Les informations que nous utilisons sont utilisées pour améliorer la précision de nos modèles de reconnaissance des cultures.

En fin de compte


Au cours de son développement, le concept de la carte est devenu beaucoup plus compliqué. Si au départ nous avions prévu de faire une simple visualisation des champs et des cultures à travers le monde, alors le produit final s'est avéré être beaucoup plus complexe. Mais la carte en valait la peine. Après la publication, des centaines d'investisseurs, de fondations et de chercheurs scientifiques nous ont écrit. Nous utiliserons une partie des solutions technologiques, par exemple, le framework Next JS et l'utilitaire Tippecanoe, pour travailler sur notre plate-forme Web gratuite d' agriculture de précision OneSoil .

Nous avons été les premiers à cartographier tous les domaines des États-Unis et de l'Europe en trois ans. Les données que nous avons reçues sont uniques. Déjà, nous en savons plus sur les domaines que n'importe quelle entreprise ou État. Et les statistiques que nous obtenons en utilisant des algorithmes d'apprentissage automatique sont souvent plus précises que celles qui ont été collectées manuellement. Nous avons fait le premier pas vers la reconnaissance automatique des champs du monde entier - tel est notre plan pour un avenir proche.

Source: https://habr.com/ru/post/fr450070/


All Articles