Git Product home page Git Product logo

qgis-processing's Introduction

🧪 QGIS tests Docker Status Build Status OpenSSF Scorecard OpenSSF Best Practices 🪟 MingW64 Windows 64bit Build DOI

QGIS is a full-featured, user-friendly, free-and-open-source (FOSS) geographical information system (GIS) that runs on Unix platforms, Windows, and MacOS.

Features

1. Flexible and powerful spatial data management

  • Support for raster, vector, mesh, and point cloud data in a range of industry-standard formats
    • Raster formats include: GeoPackage, GeoTIFF, GRASS, ArcInfo binary and ASCII grids, ERDAS Imagine SDTS, WMS, WCS, PostgreSQL/PostGIS, and other GDAL supported formats.
    • Vector formats include: GeoPackage, ESRI shapefiles, GRASS, SpatiaLite, PostgreSQL/PostGIS, MSSQL, Oracle, WFS, Vector Tiles and other OGR supported formats.
    • Mesh formats include: NetCDF, GRIB, 2DM, and other MDAL supported formats.
    • Point-cloud format: LAS/LAZ and EPT datasets.
  • Data abstraction framework, with local files, spatial databases (PostGIS, SpatiaLite, SQL Server, Oracle, SAP HANA), and web services (WMS, WCS, WFS, ArcGIS REST) all accessed through a unified data model and browser interface, and as flexible layers in user-created projects
  • Spatial data creation via visual and numerical digitizing and editing, as well as georeferencing of raster and vector data
  • On-the-fly reprojection between coordinate reference systems (CRS)
  • Nominatim (OpenStreetMap) geocoder access
  • Temporal support

Example: Temporal animation

Example: Temporal animation

Example: 3D map view

Example: 3D map view

2. Beautiful cartography

  • Large variety of rendering options in 2D and 3D
  • Fine control over symbology, labeling, legends and additional graphical elements for beautifully rendered maps
  • Respect for embedded styling in many spatial data sources (e.g. KML and TAB files, Mapbox-GL styled vector tiles)
  • In particular, near-complete replication (and significant extension) of symbology options that are available in proprietary software by ESRI
  • Advanced styling using data-defined overrides, blending modes, and draw effects
  • 500+ built-in color ramps (cpt-city, ColorBrewer, etc.)
  • Create and update maps with specified scale, extent, style, and decorations via saved layouts
  • Generate multiple maps (and reports) automatically using QGIS Atlas and QGIS Reports
  • Display and export elevation profile plots with flexible symbology
  • Flexible output direct to printer, or as image (raster), PDF, or SVG for further customization
  • On-the-fly rendering enhancements using geometry generators (e.g. create and style new geometries from existing features)
  • Preview modes for inclusive map making (e.g. monochrome, color blindness)

Example: Map of Bogota, Colombia in the style of Starry Starry Night, by Andrés Felipe Lancheros Sánchez

Map of Bogota, Colombia in the style of Starry Starry Night

For more maps created with QGIS, visit the QGIS Map Showcase Flickr Group.

QGIS Map Showcase

3. Advanced and robust geospatial analysis

  • Powerful processing framework with 200+ native processing algorithms
  • Access to 1000+ processing algorithms via providers such as GDAL, SAGA, GRASS, OrfeoToolbox, as well as custom models and processing scripts
  • Geospatial database engine (filters, joins, relations, forms, etc.), as close to datasource- and format-independent as possible
  • Immediate visualization of geospatial query and geoprocessing results
  • Model designer and batch processing

Example: Travel isochrones

Example: Travel isochrones

Example: Model designer

Example: model designer

4. Powerful customization and extensibility

  • Fully customizable user experience, including user interface and application settings that cater to power-users and beginners alike
  • Rich expression engine for maximum flexibility in visualization and processing
  • Broad and varied plugin ecosystem that includes data connectors, digitizing aids, advanced analysis and charting tools, in-the-field data capture, conversion of ESRI style files, etc.
  • Style manager for creating, storing, and managing styles
  • QGIS style hub for easy sharing of styles
  • Python and C++ API for standalone (headless) applications as well as in-application comprehensive scripting (PyQGIS)

Example: Style manager

Example: Style manager

Example: Plugins

Example: Plugins

5. QGIS Server

Headless map server -- running on Linux, macOS, Windows, or in a docker container -- that shares the same code base as QGIS.

  • Industry-standard protocols (WMS, WFS, WFS3/OGC API for Features and WCS) allow plug-n-play with any software stack
  • Works with any web server (Apache, nginx, etc) or standalone
  • All beautiful QGIS cartography is supported with best-in-class support for printing
  • Fully customizable with Python scripting support

Example: QGIS server WMS response

Example: QGIS Server response to a WMS request

Example: QGIS server WFS response

Example: QGIS Server response to a WFS Feature request

Under the hood

QGIS is developed using the Qt toolkit and C++, since 2002, and has a pleasing, easy to use graphical user interface with multilingual support. It is maintained by an active developer team and supported by vibrant community of GIS professionals and enthusiasts as well as geospatial data publishers and end-users.

Versions and release cycle

QGIS development and releases follow a time based schedule/roadmap. There are three main branches of QGIS that users can install. These are the Long Term Release (LTR) branch, the Latest Release (LR) branch, and the Development (Nightly) branch.

Every month, there is a Point Release that provides bug-fixes to the LTR and LR.

Free and Open Source

QGIS is released under the GNU Public License (GPL) Version 2 or any later version. Developing QGIS under this license means that you can (if you want to) inspect and modify the source code and guarantees that you, our happy user will always have access to a GIS program that is free of cost and can be freely modified.

QGIS is part of the Open-Source Geospatial Foundation (OSGeo), offering a range of complementary open-source GIS software projects.

Installing and using QGIS

Precompiled binaries for QGIS are available at the QGIS.org download page. Please follow the installation instructions carefully.

The building guide can be used to get started with building QGIS from source.

For installation of QGIS Server, see its getting started documentation.

Documentation

A range of documentation is available. This includes:

Help and support channels

There are several channels where you can find help and support for QGIS:

  • Using the QGIS community site
  • Joining the qgis-users mailing list
  • Chatting with other users real-time. Please wait around for a response to your question as many folks on the channel are doing other things and it may take a while for them to notice your question. The following paths all take you to the same chat room:
    • Using an IRC client and joining the #qgis channel on irc.libera.chat.
    • Using a Matrix client and joining the #qgis:osgeo.org room.
  • At the GIS stackexchange or r/QGIS reddit, which are not maintained by the QGIS team, but where the QGIS and broader GIS community provides lots of advice
  • Other support channels

Get involved with the community

Bug reporting and bug fixing

You can help us by submitting bug reports or fixing bugs in the QGIS bug tracker.

New features and enhancements

If you wish to contribute patches you can:

  1. fork the project
  2. make your changes
  3. commit to your repository
  4. and then create a pull request.

The development team can then review your contribution and commit it upstream as appropriate.

If you commit a new feature, add [FEATURE] to your commit message AND give a clear description of the new feature. The label Needs documentation will be added by maintainers and will automatically create an issue on the QGIS-Documentation repo, where you or others should write documentation about it.

For large-scale changes, you can open a QEP (QGIS Enhancement Proposal). QEPs are used in the process of creating and discussing new enhancements or policy for QGIS.

Translations

Please help translate QGIS to your language. At this moment about forty languages are already available in the Desktop user interface and about eighty languages are available in transifex ready to be translated.

The translation process is managed by the Translation Team and all the activities are done under the Transifex platform.

Other ways to contribute

If you are not a developer, there are many other possibilities that do not require programming skills to help QGIS to evolve. Check our project homepage for more information.

qgis-processing's People

Contributors

aharfoot avatar alexbruy avatar amuriy avatar anitagraser avatar caiohamamura avatar fsdias avatar ghtmtt avatar igeofr avatar jhpoosthoek avatar juliepierson avatar kiselev-dv avatar klakar avatar lucalanteri avatar mbernasocchi avatar mdouchin avatar midraed avatar pcav avatar raymondnijssen avatar rduivenvoorde avatar rldhont avatar ruizgeo avatar samuel-rosa avatar scubbx avatar silvilidar avatar slarosa avatar spatialthoughts avatar volaya avatar wildintellect avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qgis-processing's Issues

Installing the scripts

Sorry for the very stupid question, but what is the standard method to install this scripts in qgis 2.18?

Processing 2.12.2 fails to load model IDW

Loading fails with the following error

2016-01-05T22:44:32 2   Could not load model model_IDW.model
        Error in model definition line: raster_parcelle|520.0,369.0
        Traceback (most recent call last):
          File "C:/Users/anita/.qgis2/python/plugins\processing\modeler\ModelerAlgorithm.py", line 650, in fromOldFormatFile
            algIdx = int(tokens[0])
        ValueError: invalid literal for int() with base 10: 'raster_parcelle'

Documentation for submission process?

I have a script I would like to contribute to this repo and I wanted to just clear up some questions here that I think could be valuable for other people so I wanted to document it as an issue.

Question 1. I have never come across the py.help files before, are those generated somehow by the helper scripts in the base folder or should I just copy and paste one and change in a text editor?

Question 2. I was not sure what to with the help_converter.py and create_lists.py scripts. As far as I understand, the process should go roughly:

  1. Fork repo
  2. Add script to respective language folder
  3. Run help_converter.py and create_lists.py
  4. Submit pull request

Is this correct or am I missing something?

I would be glad to type something up that can be added to the Readme.md or something once I figure out how this process goes.

Failed processing due to bad vector file naming

Hi,

I have been noticing that when SHP are named with blank spaces, some processing such as v.buffer.distance from GRASS 7 in the processing toolbox fails to finish the processing with an "ERROR: vector map not found". Even if SHP should not be named with blank spaces, it will be nice for beginner users to get more descriptive error messages when such processes fail. Or even throw warning messages when vector files are saved with blank spaces.

Best,

DTM2ASCII

I upgraded to the latest processing version and get the error: No module named DTM2ASCII

I use QGIS Lyon on Win7 x64

Error in sample model Multiply 2 layers

Traceback (most recent call last):
File
"/usr/share/qgis/python/plugins/processing/modeler/EditModelAction.py",
line 41, in execute
dlg = ModelerDialog(self.alg.getCopy())
File
"/usr/share/qgis/python/plugins/processing/modeler/ModelerDialog.py",
line 190, in init
self.repaintModel()
File
"/usr/share/qgis/python/plugins/processing/modeler/ModelerDialog.py",
line 350, in repaintModel
self.scene.paintModel(self.alg)
File
"/usr/share/qgis/python/plugins/processing/modeler/ModelerScene.py",
line 101, in paintModel
value = alg.params[parameter.name]
KeyError: 'GRIDS'

Changed parameter order broke Hex_grid_from_layer_bounds.py

Latest version requires

processing.runalg('qgis:creategrid',3,width, height,cellsize, cellsize,
centerx, centery, input.crs().authid(), grid)

instead of

processing.runalg('qgis:creategrid', cellsize, cellsize, width, height,
centerx, centery, 3, input.crs().authid(), grid)

Applying function to all files in directory using PyQGIS/Python?

Hello everyone how can I apply this function to all files in folder?
The function in question extracts the bands from a raster file (.ecw) and I would like to be able to do it to all the files in folder.
What should I do?

import gdal

in_path = "C:/gis_data/ECW"
out_path ="C:/gis_data/output"

src_ds = gdal.Open(in_path)

for i in range(1,src_ds.RasterCount+1):
    out_ds = gdal.Translate(out_path + 'test' + str(i) + '.ecw', src_ds, format='GTiff', bandList=[i])
    out_ds=None

R/Kriging script : Error in a variable name

For the R script Kriging i spotted an error :
Y<-as.factor(LayerField) > should be Y<-as.factor(Layer[[Field]])
LayerField doesn't exists ! I submitted the change for a pull request

R kriging output not generated

QGIS version | 2.18.13 | QGIS code branch | Release 2.18

I'm getting an error running the Kriging Rscript

It ends with this - and I get no output graphs or layers. I have also tried saving files instead of temporary outputs and get no different result. I have run in R - loading point file (rgdal::readOGR) and specifying field, and it works there. How can I help to resolve this?

R execution console output
Converting outputs
Loading resulting layers

The following layers were not correctly generated.
Output
You can check the log messages to find more information about the execution of the algorithm

Can't set an exact pixel size when creating constant raster layer

I need to generate a raster layer that has an exact pixel size of 5 meters. When I grab the extents from a vector layer and set a pixel value of 5 I get an output with pixel sizes that are just slightly lower than 5. This happens even if I set the extents to be numbers divisible by 5.

image

image

Ideally there should be a checkbox or something to let me indicate whether I want to cheat on the extent or on the cell size, but at the very least I should be getting a cell size of 5 if my extents are multiples of 5, right? Have I misunderstood something?

Kriging.rsx still has a minor bug

After @volaya commit Kriging still has a very small bug.

I'm sending a pr to solve the bug.

I've already an open pr. Maybe is better (to not mix things) pointing to the bug:

Line 9 is:
- Y<-as.factor(LayerField)

And should be:
+ Y<-as.factor(Layer$Field)

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.