如何使用v.patch或v.clean和v.clip?

时间:2019-05-11 04:54:06

标签: qgis grass

我想知道我正在正确使用GRASS GIS。我在合并这两个shapefile时遇到问题

您将如何处理具有此类错误的shapefile?

我曾尝试同时使用QGIS和GRASS导入和清理,但最终总是收到如下警告:

WARNING: Number of centroids exceeds number of areas: 32665 > 20038
WARNING: Number of incorrect boundaries: 62688
WARNING: Number of centroids outside area: 12461
WARNING: Number of duplicate centroids: 3210

我尝试过更改v.in.ogr的捕捉阈值,但这似乎没有什么作用

当我尝试进行v.patch时,它看起来像这样:https://i.imgur.com/u6Sqom5.png

我想得到的东西看起来像这样,但在一层上没有重叠,因此与地图上的每个空间都存在一对一的关系:https://i.imgur.com/5VtWSsR.png

1 个答案:

答案 0 :(得分:0)

您可以使用QGIS(SAGA工具)合并图层,然后将新图层导入GRASS环境:

const banks = [{kod: 723,name: "bank",},{kod: 929,name: "bank2"}];

const res = banks.reduce((acc, {kod, name}) => ({...acc, [kod]: name}), {});
console.log(res);

New Shp QGIS

New Shp GRASS

或者您也可以使用bash创建管道,在其中通过导入草层来自动执行此功能。 希望对您有所帮助:)