Your [GRASS mapset region settings](https://grass.osgeo.org/grass73/manuals/g.region.html) are at fault (even a temp dir needs to be set up). Try something like region_check <- capture.output(execGRASS('g.region', flags = c('p')) edit: (nah, just use `gmeta()` ) or cheat: open your mapset directly in GRASS and run `g.region -p`. You can do this even with a temp location so long as you don't exit R, you just have to navigate to the correct R temp folder in GRASS's start screen. You will be able to set the region to match the file you imported by e.g. `g.region raster=raster_image'`. edit2: you may find that after this, the location still has no genuine CRS. g.region won't set that, instead you need to run `g.proj -t -c georef='raster_image'` or similar. The catch is that this has to be done in the PERMANENT mapset and then `g.region -d` has to be run in all other mapsets. Suggest you simplify your life by altering your initGRASS call to start in PERMANENT e.g. rgrass7::initGRASS("/usr/lib/grass70", home = tempdir(), mapset = 'PERMANENT', override = TRUE) I've never understood why that isn't default behaviour in GRASS. Anyway, you can then set projection with `g.proj`. Notably, if you point it at a raster on disk using the `georef=` parameter (e.g. `georef=<filepath>` or `georef=raster@file@name`), you get all your region settings matching the file, not just the projection.