def c_library_server(lock, conn): """The GRASS C-libraries server function designed to be a target for multiprocessing.Process :param lock: A multiprocessing.Lock :param conn: A multiprocessing.Pipe """ # Crerate the function array functions = [0] * 15 functions[RPCDefs.STOP] = _stop functions[RPCDefs.HAS_TIMESTAMP] = _has_timestamp functions[RPCDefs.WRITE_TIMESTAMP] = _write_timestamp functions[RPCDefs.READ_TIMESTAMP] = _read_timestamp functions[RPCDefs.REMOVE_TIMESTAMP] = _remove_timestamp functions[RPCDefs.READ_MAP_INFO] = _read_map_info functions[RPCDefs.MAP_EXISTS] = _map_exists functions[RPCDefs.AVAILABLE_MAPSETS] = _available_mapsets functions[RPCDefs.GET_DRIVER_NAME] = _get_driver_name functions[RPCDefs.GET_DATABASE_NAME] = _get_database_name functions[RPCDefs.G_MAPSET] = _get_mapset functions[RPCDefs.G_LOCATION] = _get_location functions[RPCDefs.G_GISDBASE] = _get_gisdbase functions[RPCDefs.G_FATAL_ERROR] = _fatal_error libgis.G_gisinit("c_library_server") libgis.G_debug(1, "Start C-interface server") while True: # Avoid busy waiting conn.poll(4) data = conn.recv() lock.acquire() functions[data[0]](lock, conn, data) lock.release()
#% description: Align ISIS3 data to the extents of the current GRASS region #%end import subprocess, sys, os, platform import grass.script as grass from grass.lib import gis as grasslib from grass.lib import proj as grassproj from UserDict import * import re, string if "GISBASE" not in os.environ: print("You must be in GRASS GIS to run this program.") sys.exit(1) # initialize grasslib.G_gisinit('') projdict = { 'sinu': 'Sinusoidal', 'merc': 'Mercator', 'tmerc': 'TransverseMercator', 'ortho': 'Orthographic', 'stere': 'PolarStereographic', 'cc': 'SimpleCylindrical', 'eqc': 'Equirectangular', 'lcc': 'LambertConformal' } paradict = { 'proj': 'ProjectionName', # Name of the projection 'lon_0': 'CenterLongitude', # Center Longitude
# -*- coding: utf-8 -*- from __future__ import print_function from os.path import join, exists import grass.lib.gis as libgis libgis.G_gisinit('') import grass.lib.vector as libvect import ctypes # # import pygrass modules # from grass.pygrass.vector.vector_type import VTYPE from grass.pygrass.errors import GrassError, must_be_open from grass.pygrass.gis import Location from grass.pygrass.vector.geometry import GEOOBJ as _GEOOBJ from grass.pygrass.vector.geometry import read_line, read_next_line from grass.pygrass.vector.geometry import Area as _Area from grass.pygrass.vector.abstract import Info from grass.pygrass.vector.basic import Bbox, Cats, Ilist _NUMOF = {"areas": libvect.Vect_get_num_areas, "dblinks": libvect.Vect_get_num_dblinks, "faces": libvect.Vect_get_num_faces, "holes": libvect.Vect_get_num_holes, "islands": libvect.Vect_get_num_islands, "kernels": libvect.Vect_get_num_kernels, "points": (libvect.Vect_get_num_primitives, libvect.GV_POINT), "lines": (libvect.Vect_get_num_primitives, libvect.GV_LINE),
from os import listdir from os.path import join, isdir import shutil import ctypes as ct import fnmatch import grass.lib.gis as libgis from grass.pygrass.errors import GrassError from grass.script.utils import encode, decode from grass.pygrass.utils import getenv from grass.pygrass.gis.region import Region test_vector_name = "Gis_test_vector" test_raster_name = "Gis_test_raster" libgis.G_gisinit("") ETYPE = { "raster": libgis.G_ELEMENT_RASTER, "raster_3d": libgis.G_ELEMENT_RASTER3D, "vector": libgis.G_ELEMENT_VECTOR, "label": libgis.G_ELEMENT_LABEL, "region": libgis.G_ELEMENT_REGION, "group": libgis.G_ELEMENT_GROUP, } CHECK_IS = { "GISBASE": libgis.G_is_gisbase, "GISDBASE": lambda x: True, "LOCATION_NAME": libgis.G_is_location, "MAPSET": libgis.G_is_mapset,
def setUpClass(cls): libgis.G_gisinit("GisLibraryTestEnv")
from grass.lib import proj as grassproj # UserDict is merged into collections http://python3porting.com/problems.html if sys.version_info > (3, ): from collections import UserDict IterableUserDict = UserDict else: from UserDict import UserDict, IterableUserDict if "GISBASE" not in os.environ: print("You must be in GRASS GIS to run this program.") sys.exit(1) # initialize grasslib.G_gisinit("") projdict = { "sinu": "Sinusoidal", "merc": "Mercator", "tmerc": "TransverseMercator", "ortho": "Orthographic", "stere": "PolarStereographic", "cc": "SimpleCylindrical", "eqc": "Equirectangular", "lcc": "LambertConformal", } paradict = { "proj": "ProjectionName", # Name of the projection "lon_0": "CenterLongitude", # Center Longitude