[GRASS-user] Switching locations on-the-fly

Bartolomei.Chris Bartolomei.Chris at ensco.com
Wed Nov 1 10:00:38 PDT 2017


Hi Rich - Here's a generic version of what I did (I'm not the best programmer, but this worked):

# this is necessary because the environments change in this script
GISDBASE="D:/GRASSDATA/"   # use your info!
LOCATION_NAME_1="latlon"   # use your info!
LOCATION_NAME_2="UTM_23"   # use your info!
MAPSET_1="user_latlon_maps"   # use your info!
MAPSET_2="user_UTM23_maps"   # use your info!
HISTFILE_1="$GISDBASE/$LOCATION_NAME_1/$MAPSET_1"/.bash_history
HISTFILE_2="$GISDBASE/$LOCATION_NAME_2/$MAPSET_2"/.bash_history
history -w
history -r "$HISTFILE_1”
# make sure mapsets in the location are available to change into (this is a user control)
# you can change mapsets within the location easily but changing locations requires
# resetting the history file
g.mapsets mapset=$VMAP_MAPSET,$ MAPSET_1,$SUB_MAPSET,$CLIM_MAPSET operation=set
                # set your mapset (in the current location)
g.mapset mapset=$MAPSET_1 location=$LOCATION_NAME_1 dbase=$GISDBASE
# set your region!
g.region -a vector=SomeMap@$MAPSET_1
                # do your GRASS thing
…
                # now change your location and mapset
history -w
history -r "$HISTFILE_2”
                # if you need more than one mapset in this location, make them available to the user:
g.mapsets mapset=$MAPSET_2,$MAPSET_X,$MAPSET_Y operation=set
g.mapset mapset=$MAPSET_2 location=$LOCATION_NAME_2 dbase=$GISDBASE
# set your region!
g.region -a vector=SomeMap@$MAPSET_2
                # do your GRASS thing
…
# reset the mapset and counters
history -w
history -r "$HISTFILE_1”
g.mapset mapset=$MAPSET_1 location=$LOCATION_NAME_1 dbase=$GISDBASE
# reset your region!
g.region -a vector=SomeMap@$MAPSET_1



I hope this helps you

[😊]

Chris


Chris Bartolomei P.E.
bartolomei.chris at ensco.com
________________________________
From: grass-user <grass-user-bounces at lists.osgeo.org> on behalf of Markus Metz <markus.metz.giswork at gmail.com>
Sent: Wednesday, November 1, 2017 12:38:07 AM
To: Rich Shepard
Cc: grass-user at lists.osgeo.org
Subject: Re: [GRASS-user] Switching locations on-the-fly



On Wed, Nov 1, 2017 at 12:21 AM, Rich Shepard <rshepard at appl-ecosys.com<mailto:rshepard at appl-ecosys.com>> wrote:
>
> On Tue, 31 Oct 2017, Bartolomei.Chris wrote:
>
>> are you using the gui or in a bash shell?
>
>
> Chris,
>
>   Both. I'll use the GUI when reprojecting because it's less typing than the
> whole path name to the source. Most often I use the shell (bash).
>
>> In the gui, go to Settings, GRASS working environment, Change location and mapset
>
>
>   Good to know. I've not explored all the GUI menus.
>
>> That will change it all on the fly. You can do this in a batch script as
>> well but it's a little tricky - your .bash_history changes with changed
>> locations and you need to reset your GISDBASE, MAPSET, and LOCATION
>> internal GRASS variables, etc. Let me know if you want those steps and
>> I'll dig them out of an old script I have.
>
>
>   When you can, please share them with me.

You can use g.mapset to switch locations (also GRASS databases) on the fly. With g.mapset, the .bash_history of the initial location will be used to record command history.

Markus M
>
> Much appreciated,
>
> Rich
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org<mailto:grass-user at lists.osgeo.org>
> https://lists.osgeo.org/mailman/listinfo/grass-user<https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.osgeo.org_mailman_listinfo_grass-2Duser&d=DwMFaQ&c=DsZY2bea7iNIzyp-7sZ0t0F2UfNQZUfZhEPCv_2wBI0&r=O31ltou6ygJL2Y01kQyNJJD2kiILIsbyz2V0Hn4lFUY&m=pAguFuiUBov1tfBBuR6-VEecI77VqdSzgldIb7apFU4&s=1Q7YttQ4IjrgaQNBM3VUI0QGWE3Lk9xHGGTu63-LyJE&e=>


________________________________

The information contained in this email message is intended only for the use of the individual(s) to whom it is addressed and may contain information that is privileged and sensitive. If you are not the intended recipient, or otherwise have received this communication in error, please notify the sender immediately by email at the above referenced address and note that any further dissemination, distribution or copying of this communication is strictly prohibited.

The U.S. Export Control Laws regulate the export and re-export of technology originating in the United States. This includes the electronic transmission of information and software to foreign countries and to certain foreign nationals. Recipient agrees to abide by these laws and their regulations -- including the U.S. Department of Commerce Export Administration Regulations and the U.S. Department of State International Traffic in Arms Regulations -- and not to transfer, by electronic transmission or otherwise, any content derived from this email to either a foreign national or a foreign destination in violation of such laws.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OutlookEmoji-😊.png
Type: image/png
Size: 488 bytes
Desc: OutlookEmoji-😊.png
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20171101/25eabf30/attachment-0001.png>


More information about the grass-user mailing list