
几个月前,我们发布了世界上第一个
免费的交互式地图 ,您可以在其中查看有关美国和欧洲任何领域的信息。 数十种出版物都对此地图进行了记录,在Product Hunt上,她从农业领域收集了前所未有的一千五百个赞(最终成为2018年度AI和机器学习产品)。 我们开发了两个月的地图-就是这样。
交互式地图基于机器学习算法和卫星图像。 它包含有关欧洲和美国44个国家/地区的6000万个领域和27种文化的信息。 数据-三年。 我们借助ML从卫星图像中识别出所有领域。 使用地图,您既可以监视国家和地区水平的趋势,也可以观察特定领域的发展。 例如,您可以找出2016年美国的玉米面积(4910万公顷)或比利时的哪个麦田最多的地区(瓦隆)。
欧洲以最小变焦使用该地图,您还可以在一个单独的字段中找到信息:其大小,文化,开发进度以及全面的指标“字段得分”。 它由NDVI指数,气候指标和相对田间生产力计算得出。 在任何时候,您都可以看到甜菜在您的田地里如何发展,或者邻居去年分配给豆类的区域。 除其他外,它很漂亮。 我们按下了“随机美丽的田野”按钮:它将您带到世界各地35个以上的地方,每个地方看起来都像是抽象艺术作品。
创建这种卡的想法出现在去年7月。 我们缺少一种工具,可以清晰地展示我们的所有技术能力。 8月,整个团队开始紧密发展。
数据:收集,处理,压缩
在绘制地图时,我们使用了欧盟哥白尼计划的Sentinel-2卫星的图像。 总共为欧洲和美国处理了约250 TB的信息。 在第一阶段,我们对图像进行了预处理:我们清除了云,阴影,雪并执行了数据压缩。 然后,在生成的50 TB字节上,他们启动了在我们的机器学习模型上搜索字段边界并对文化进行分类的过程。 在输出中,我们收到了大约250 GB的矢量地图,其中包含字段的几何形状和区域性。
为了处理数据和计算统计数据,我们使用了PostgreSQL和PostGIS数据库。 导出原始矢量数据后,我们得到了一个数据库,其中包含大约1.8亿个字段几何记录,以及三年中超过10亿条有关字段本身的附加属性信息的记录。 根据这些数据量,我们计算了统计数据,评分,确定了世界各地不同文化的流行度-左栏中显示在地图上的所有内容以及互动提示。
克罗地亚的领域我们想要快速计算和显示田间农艺指标,并可视化整个季节的植物生长图。 为此,我们使用了自己的方法来缓存和压缩卫星数据。 这使我们可以将数据仓库的大小减少100-200倍,并将在现场获取信息的速度降低到1秒。
同样在此版本的地图中,我们添加了全面的“字段得分”指标,可让您快速评估字段等级。 Field Score是我们团队目前正在努力进行的产量预测的第一步。 该地图是在很短的时间内完成的,因此我不得不在旅途中发明许多原始的解决方案。 但是我们将所有新开发成果应用到我们的主要产品上。
地图:选择格式并准备数据
为了可视化数据,我们使用了Mapbox。 创建地图有两种方法,我们都尝试过两种。 第一个涉及创建栅格地图。 在这种情况下,我们将地图划分为正方形,然后将其渲染为图片并存储在服务器上。 浏览器下载多张图片,并在用户在地图上移动时移动它们。 这种方法使您可以显示所有字段,而无需过滤任何内容。 这很漂亮,其缺点是地图是静态的,再加上位图图像的影响很大。
第二种方法是创建矢量地图。 浏览器将加载矢量数据并在客户端对其进行动画处理。 这就是现代Google和Yandex地图的工作方式。 数据的重量小于图片,并允许您更改任何元素的设计。 该地图可以由Mapbox服务制作,特别是其Mapbox GL库是用于在网络上显示地图的开源工具。 Mapbox尤其提供付费的地图存储服务。 您可以手动将数据上传到他们的服务器,Mapbox会快速分发信息,以确保准确的地图操作。 这是这项工作的重要组成部分,而且由于Mapbox承担了这一责任,因此大大简化了团队的任务。
意大利艾米利亚·罗马涅使用矢量数据时,有一个条件限制:要在地图上显示的信息越多,所有功能的运行速度就越慢。 为了解决这个问题,我们使用了Mapbox的实用工具Tippecanoe。 根据我们选择的算法,它确定哪些缩放字段可见,哪些不可见,并从图层中删除了不可见的矢量对象。 Tippecanoe总共有20多种过滤算法,我们尝试了所有方法并选择了一些基本的算法。 我们使用mbtiles技术准备了由此而来的数据,这些数据来自Mapbox,最大可达50 GB,然后将其上传到公司的服务器。
通过使用Next JS框架执行页面的服务器端渲染,可以进一步加快地图的绘制速度。 现代世界中的大多数应用程序都是完全在客户端呈现的:打开一个窗口时,浏览器显示一个空的hmtl页和一个加载所有信息的脚本。 Next JS框架在服务器上呈现所有内容,这使得为客户端快速加载应用程序。
地图:在发布前的晚上设置视觉效果并提出“魔术按钮”
对于我们的设计师而言,Mapbox是一个令人愉悦的发现。 该服务简化了他的任务,因为他可以在不涉及前端开发人员的情况下可视化数据。 从外部看,似乎很容易为完成的界面中的字段着色,但是有很多细微差别。 我们有27种文化,为他们挑选颜色并不容易。 对于流行的文化,需要使用对比色,而对于较不受欢迎的对比色则要少一些,并且它们在不同的缩放级别下都应该清晰可见。 该地图具有许多嵌套和交互式提示,因此最困难的事情是思考不同级别上的过渡逻辑。
发布前一天的晚上,我们意识到,虽然查看地图和数字很有趣,但我不想在社交网络上分享。 因此,我们决定添加“随机美丽区域”按钮,该按钮将用户吸引到地球上不同位置之间。 在整个办公室中,我们一直在寻找美丽的地方,一个小时内,我们画了一个按钮,便完成了所有工作。 早晨,我们对其进行了测试并启动了它。 似乎正是这个功能给了我们如此多的报道。 否则,没人会注意到这一领域类似于抽象绘画的事实。 不要低估最后决定的力量。
法国的领域启动后,我们向地图添加了另一个功能。 我们知道,有时我们无法准确识别地图上的字段和文化,并且用户反馈使我们能够改进算法。 发布后,农民开始发送有关作物识别不准确的信息:“我在田地上种着向日葵,而你有玉米。” 要解决此问题,我们在现场卡上添加了一个向我们发送错误通知的按钮。 我们使用的信息用于提高作物识别模型的准确性。
最后
在其开发过程中,卡的概念变得更加复杂。 如果一开始我们计划对世界各地的田地和农作物进行简单的可视化,那么最终产品将变得更加复杂。 但是该卡值得您付出努力。 发布后,数百名投资者,基金会和科学研究人员写信给我们。 我们将使用部分技术解决方案,例如Next JS框架和Tippecanoe实用程序,在免费的
OneSoil精确农业网络平台上工作。
我们是三年来第一个绘制美国和欧洲所有领域地图的人。 我们收到的数据是唯一的。 与任何公司或州相比,我们对这些领域的了解已经更多。 而且,我们使用机器学习算法获得的统计数据通常比手动收集的统计数据更为准确。 我们已朝着自动识别世界范围内的区域迈出了第一步-这是我们不久的将来的计划。