如何将 GeoJSON 与两个 shapefile 相交?

问题描述

我有一项任务,需要查找与另外两个 shapefile(mesoregions 和 Landsat 切片)相交的一些多边形 (.GeoJSON) 的相关信息。

我需要知道每个多边形是 100% 插入的中间区域和平铺。我已经通过 Qgis 手动完成了,但想尝试在 Jupyter Notebook 上使用 Python 来完成。

我是编程新手,所以我没有编写太多代码,因为我不知道从哪里开始。想知道是否有人可以帮助我吗?

这是我到目前为止所做的:

import os
import glob
import geopandas as gpd
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
path1='/home/Desktop/Geojson_4_monitoring/file.GeoJSON'
path2='/home/Desktop/grid_sentinel2_BR/grid_sentinel2_BR.shp'
path3='/home/Desktop/br_mesoregions/br_mesoregions.shp'

polygons= path1
token= path2
meso= path3

df_token=gpd.read_file(token)
df_meso=gpd.read_file(meso)
df_polygons=gpd.read_file(polygons)

polygons_tokens = gpd.sjoin(df_meso,df_token,how="inner",op='intersects')

比我收到以下错误消息:“AttributeError: 'nonetype' 对象没有属性 'intersection'”

最初我试图为包含一些 .GeoJSON 的文件夹执行此操作,但我仍然不太清楚如何制作 for 循环。所以我决定只针对 1 个 .GeoJSON 文件尝试这样做。

无论如何,希望这有助于清除我正在尝试做的事情。谢谢大家的关注!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)