Example #1
0
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()
Example #2
0
#% 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
Example #3
0
# -*- 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),
Example #4
0
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,
Example #5
0
 def setUpClass(cls):
     libgis.G_gisinit("GisLibraryTestEnv")
Example #6
0
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