linder是一种基于机器学习的土地利用/土地覆盖(LULC)分类器,使用哨兵图像。

linder的Python项目详细描述


土地利用指数

计算城市/农村地区土地覆盖的管道。在

如何使用?在

快速演示:

frompathlibimportPathimportlinderasld# get a list of CSV files of calculated land cover fractions of all downloaded imageslist_path_fraction=ld.get_land_cover(51.515070,-0.008555,51.489564,0.034932,"2016-01-01","2017-10-01",path_GUF="Data/GUF/WSF2015_v1_EPSG4326/WSF2015_v1_EPSG4326",path_save=Path("~/Downloads/linder_res").expanduser(),)# synthesise the above results to one `DataFrame`df_lc=ld.proc_fraction(list_path_fraction)

必需的库

对于macOS,请下载并安装grass软件包:

^{pr2}$

其他python库

使用conda为该管道创建一个新的环境:

conda env create -f GDAL.yml

依赖项详细信息请参阅^{}。在

依赖关系数据集

nc_spm_08数据集

此数据集包括GRASS所需的投影文件。 下载它here。在

GUF数据集(可选)

GUF (Global Urban Footprint)是由DLR制作的全球城市覆盖数据集。 这条管道使用GUF来提高预测城市特征的准确性。在

配置

哨兵枢纽

请参阅this page for setting up a new configuration。 然后更新sentinelhub实例ID,如下所示:

sentinelhub.config --instance_id [your-instance-ID]

细节

这是一条计算所需区域土地覆被的管道。它包括:

  • 步骤1:获取区域的位置(latlon

  • 第二步:获取所需区域的卫星图像

  • 第三步:土地覆盖预测分为三类:

    • 1-城市
    • 2-绿色
    • 3-水和
    • 4-其他
  • 步骤4:将GUF数据叠加到预测中。因此,土地覆被变为1-水2-绿色3-城市4-其他

  • 步骤5:覆盖来自OSMMicrosoft data的建筑数据(仅适用于美国)。因此,最终土地覆盖包括1-水2-绿化3-建筑4-铺面5-其他

使用这个管道很简单,只需选择坐标,并提供GUF数据和/或建筑数据。用户可以选择可用的数据。例如,在没有GUF数据的情况下,管道使用预测,或者在没有Microsoft数据的情况下,管道使用OSM数据进行建筑物。请注意,添加GUF数据可以使土地覆盖的最终结果更加准确。在

一些技术细节:

  • 不同的Python和GDAL包合并可能不是很有效。 管道使用python接口直接使用GRASS函数(例如v.overlay)来加速合并过程。在

  • 管道使用预先训练的模型来预测土地覆盖。 目前,该模型在科伦坡训练,但各种测试表明,它在其他地方也有很好的表现。 一个更复杂的模型可以通过使用更多的数据集进行训练。在

  • 请注意,虽然OSM数据是自动从网站获取所需区域的,但需要手动下载所选位置的Microsoft数据。这可以在将来实现自动化。在

一些例子

斯里兰卡科伦坡

Colombo, Sri Lanka

美国匹兹堡

Pittsburgh, United States

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Jsonify使用Jackson来定义嵌套对象   在Swing中禁用java图形调试   java Selenium Webdriver拖放在Jenkins上不起作用   java我对一个显示器的问题有一个非常不切实际的询问   java增强的“for”循环导致ArrayIndexOutOfBoundsException   ArrayAdapter适用于Java中的安卓编程,字符串数组   linux在Ubuntu上通过PulseAudio播放Java音频文件时出错   java在Spring应用程序中加载内部(类路径)和外部属性文件   java使用Maven连接到mySQL   Java应用程序的设计   websocket在电报api java中与dc的连接   java XMLStreamException,因为xml中的(&N)   java从控制台输出到JTextArea   Java导出文本文件   java实现parseInt方法   java为什么servlet容器会同步对特定资源/servlet的多个请求的访问?   循环中的Java“while”变量   用Java编程一个国际象棋游戏,gameOver布尔不起作用   java如何获得真正的JPanel大小?