I have recently started using QGIS after using Arc for years. I downloaded QGIS Madeira 3.4.3 and have been working with road layers. After working with my project for a month in QGIS, I started trying to use some of the installed GRASS tools. Every single GRASS tool returns an error (will talk more specifically about what this is later). I searched stack exchange high and low, with no luck.
My first hunch was that there was something funky with the CRS. However, after setting the data frame's CRS to the layers, nothing changed. I then read that GRASS needs access to your .gdal folder for CRS information. I created a system variable to allow for GRASS to access the file, but there wasn't anything in the .gdal file that appeared to have CRS information. Anyway, that changed nothing.
I uninstalled and reinstalled QGIS with GRASS and GDAL using the OSgeo4 installer. Everything works great except the GRASS tools still. I have checked my topology using the check validity tool multiple times and fixed all errors.
I am trying to use v.net.distance to calculate the least cost path between points and polygons via a road layer, as it is the only tool that can use three different datasets to calculate distance and cost. When I run the tool, I get this message:
WARNING: Unable to open vector map on level 2. Try to rebuild vector topology with v.build
When I run v.build.check, I get:
WARNING: Unable to determine input map's vector feature type(s).
WARNING: No attribute table found -> using only category numbers as attributes
To check the validity of my layers, I opened a blank map with the correct CRS and ran the Shortest Path tool from different points all over the map. It worked just fine. I then ran a whole host of other GRASS tools, and they all returned similar errors to the v.build.check errors. The problem must be something structural in the system setup as opposed to a topology error in my files.
I have been searching and searching for so long on this.
Best Answer
The
v.build.check
algorithm simplifies the execution of some GRASS functions:You can read the manual of each function used by the algorithm: g.proj, v.in.ogr, g.region, v.build, and v.out.ogr.
Precisely, these warnings are issued by the
v.out.ogr
function when no topology was created byv.build -e
(that is, it didn't find topological errors in the analyzed layer):I would think it's an expected behavior, at least in this case, and you should not worry about those warnings, other than knowing that
v.out.ogr
had nothing to export.In the case of
v.net.distance
we should see what is the particular situation in which it returns that warning. Note that it does not refer to thev.build.check
algorithm but to the GRASSv.build
function that Creates topology for vector map. It may be appropriate to start a new question for that warning by attaching the data set that produces it. Also, I leave a link to the manual.