问题描述: 类型错误:不能将序列乘以类型为“仿射”的非整形。
我出错的代码是在这一步:利用到了rasterio这个库,进行shp的几何平面提取它的dem的均值,问题在于rasterio预计接收得是两个值,但我们shp给它传递了3个值,也就是说shp层不只是包含经纬度,它还包含了一个高度值,因此,我们的解决办法就是去掉shp的高度值,使它只包含几何的经纬度。
解决办法:利用软件Arcmap
首先查看shp的属性表,看它是否是包含高度值的,包含高度值时,它的【shape *】属性这一列几何要素后面会加一个【ZM】,而没有包含高度值的几何要素后面不会有【ZM】
下面将Shape类型改为平面:
打开Toolbox的【数据管理工具】-【要素】-【复制要素】,
1. 在【复制要素】板块中【输入要素】选择要修改的【shp图层】;
2.在【输出要素类】中,选择处理后的shp存放路径;
3. 再点击下面的【环境...】
4. 在【环境设置】中,将【M值】部分中【输出包含M值】改为【Disabled】,同样,【Z值】部分也是这样,再点击【确定】即可。
完成后,我们打开修改后的Shp图层,查看它是属性表【Shape *】这一列的几何属性是不是不包含【ZM】了呢。
感谢相关参考:
2.