GithubHelp home page GithubHelp logo

lucadelu / grass Goto Github PK

View Code? Open in Web Editor NEW

This project forked from osgeo/grass

0.0 2.0 0.0 307.12 MB

GRASS GIS Core Repository

Home Page: https://grass.osgeo.org

License: Other

Shell 1.03% Dockerfile 0.10% Makefile 0.68% HTML 7.57% C 53.32% Python 30.67% C++ 5.90% Perl 0.02% Objective-C 0.01% CSS 0.01% Batchfile 0.04% Roff 0.02% TeX 0.34% Lex 0.03% Yacc 0.04% sed 0.01% PostScript 0.11% PLpgSQL 0.01% Rich Text Format 0.10% AppleScript 0.01%

grass's Introduction

GRASS GIS Repository

Build Status GCC C/C++ standards check Python code quality check General linting Ubuntu OSGeo4W DOI Join the chat at https://gitter.im/grassgis/community

Description

GRASS GIS (https://grass.osgeo.org/) is a Geographic Information System used for geospatial data management and analysis, image processing, graphics/map production, spatial modeling, and visualization.

Launch this repository in Binder and experiment with GRASS's Python API in Jupyter Notebooks by clicking the button below:

Binder

Contributing

In general: you don't really need write access as you can simply open a pull request to contribute to GRASS GIS. See CONTRIBUTING file for more details.

How to get write access here

Want to become a core developer? See Procedure for gaining Git write access

How to compile GRASS

See the INSTALL.md file.

Yes, you should really read INSTALL.md. In addition, there are detailed compile instructions in the Wiki.

Docker

Build a docker image using the downloaded source code (run this in the directory containing the source code):

A. Docker image without graphical user interface - wxGUI.

docker build -t grassgis .

A test run (assuming you have the existing GRASS GIS test location; it can be downloaded from here)

# case 1: launching in the grassdata directory in which the location is stored:
docker run -it --rm --user=$(id -u):$(id -g) --volume $(pwd):/data \
    --env HOME=/data/ grassgis grass --text nc_basic_spm_grass7/user1 \
        --exec g.region -p

# case 2: launching anywhere
docker run -it --rm --user=$(id -u):$(id -g) \
    --volume /your/test/grassdata/:/data --env HOME=/data/ grassgis \
        grass /data/nc_basic_spm_grass7/PERMANENT --exec g.region -p

Note that the first grassgis is the name of the image while the second grass is the name of the executable.

To run the tests (again assuming local location):

docker run -it --rm --user=$(id -u):$(id -g) \
    --volume /your/test/grassdata/:/data --env HOME=/data/ -w /code/grass \
        grassgis grass /data/nc_basic_spm_grass7/PERMANENT --exec \
            python -m grass.gunittest.main \
                --location nc_basic_spm_grass7 --location-type nc

B. Docker image with graphical user interface - wxGUI.

docker build -t grassgis -f docker/ubuntu_wxgui/Dockerfile .

Note that the first grassgis is the name of the image while the second grass is the name of the executable.

xhost local:$(id -u)
docker run -it --privileged --user=$(id -u):$(id -g) --rm \
    --volume="$(pwd)/:/data" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
    --env HOME=/data/ --env DISPLAY=$DISPLAY \
    --device="/dev/dri/card0:/dev/dri/card0" \
    grassgis grass --gui

Note: If you compiled locally before building the Docker image, you may encounter problems as the local configuration and the locally compiled files are copied to and used in the Docker image. To make sure you don't have this issue, clean all the compiled files from the source code:

make distclean

Thanks to all contributors ❤

GRASS contributors

grass's People

Contributors

landam avatar neteler avatar metzm avatar petrasovaa avatar glynnc avatar hamishb avatar wenzeslaus avatar huhabla avatar huidaecho avatar lucadelu avatar zarch avatar tmszi avatar cmbarton avatar nilason avatar marisn avatar ostepok avatar hellik avatar mlennert avatar lindakarlovska avatar kyngchaos avatar ninsbl avatar veroandreo avatar pesekon2 avatar jidanni avatar infrastation avatar mmacata avatar renovate[bot] avatar chaedri avatar madi avatar hmitaso avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.