Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gacarrillor/loadthemall
QGIS plugin that recursively loads vector and raster layers stored in a directory structure, based on several filters
https://github.com/gacarrillor/loadthemall
automatic batch directory filter geopackage layer-tree layers legend load multiple point-cloud pyqgis qgis qgis-plugin raster recursively shapefile style toc vector
Last synced: 9 days ago
JSON representation
QGIS plugin that recursively loads vector and raster layers stored in a directory structure, based on several filters
- Host: GitHub
- URL: https://github.com/gacarrillor/loadthemall
- Owner: gacarrillor
- License: gpl-2.0
- Created: 2015-01-18T23:04:40.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-06-04T02:41:47.000Z (5 months ago)
- Last Synced: 2024-10-20T21:37:18.624Z (16 days ago)
- Topics: automatic, batch, directory, filter, geopackage, layer-tree, layers, legend, load, multiple, point-cloud, pyqgis, qgis, qgis-plugin, raster, recursively, shapefile, style, toc, vector
- Language: Python
- Homepage:
- Size: 454 KB
- Stars: 36
- Watchers: 5
- Forks: 8
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.txt
Awesome Lists containing this project
README
![Unit tests](https://github.com/gacarrillor/loadthemall/actions/workflows/main.yml/badge.svg)
[![Release](https://img.shields.io/github/v/release/gacarrillor/loadthemall.svg)](https://github.com/gacarrillor/loadthemall/releases)# Load Them All
QGIS plugin that recursively loads **vector**, **raster**, and **point cloud** (πβ¨) layers stored in a directory structure, based on several filters.
**License**: This plugin is distributed under the [GNU GPL v2 license](https://github.com/gacarrillor/loadthemall/blob/master/LICENSE).
πΉ [Screencasts](#-screencasts)
π¦ [Available filters](#-available-filters)
βοΈ [Configuration](#%EF%B8%8F-configuration)
ποΈ [Supported file formats](#%EF%B8%8F-supported-flle-formats)
π [Where to find the plugin in QGIS](#-where-to-find-the-plugin-in-qgis)
π» [For developers](#-for-developers)
πββοΈ [Code contributors](#%EF%B8%8F-code-contributors)
βΉοΈ [More info](#%E2%84%B9%EF%B8%8F-more-info)-----------
### πΉ Screencasts![Load Them All 3][2]
![Load Them All][1]
![Load Them All][3]
### π¦ Available filters
Load Them All offers you several filters to properly choose the layers to be loaded. These are:
* **Alphanumeric**:
Enter a filter text and choose among the modes `Start with`, `Any position`, or `Ends with` to find files by name.
You can use the logical operators `||` (or) and `&&` (and), and even combine them. `&&` has more priority, so the expression `a || b && c` becomes `(a || b) && c`.
Additionally, you can invert the Alphanumeric filter, i.e., prepend a logic NOT to it, allowing you to invert the original filter result.* **Bounding box**:
Enter coordinates by hand or get the current map extent. Choose the spatial filter: `Contains` or `Intersects`.
* **Date modified**:
Filter files by their latest modification date, using comparisons like `before`, `after` and `exact date`.
* **Geometry type**:
Choose which geometry type you want to load: `Point`, `Line`, or `Polygon`. Uncheck all geometry types for loading only geometryless layers (i.e., alphanumeric tables).
* **Raster type**:
Choose which raster type you want to load: `Gray or undefined`, `Palette`, `Multiband`, or `Color Layer`.
### βοΈ Configuration
There are several options for you to configure how layers should be loaded to QGIS:
* **Groups**: Whether or not to create groups based on directories' names. When groups are created, they reflect the directory structure, i.e., groups are nested if necessary.
* **Also search inside compressed files** π¦: Enable searching layers inside compressed files (ZIP, Gzip, 7zip, TAR, and RAR). πβ¨
* **Turn off layers**: Make loaded layers invisible (it improves performance).
* **Do not load empty layers**.
* **Sort (or reverse sort) loaded layers by name**.
* **Ignore case in the alphanumeric filter**: Make the alphanumeric filter case insensitive.
* **Ignore accents in the alphanumeric filter**: You need the `unidecode` module for this option to work (you probably need to install it because it doesn't come with the standard Python installation). If enabled, an alphanumeric filter like 'arbol' will also match 'Γ‘rbol'.
* **Sublayers**:
The following two options can work independently from each other.
* **Include parent in search**: Make alphanumeric filters work with the parent name prepended. If enabled, an alphanumeric filter like 'Starts with: rivers' won't match the sublayer rivers, because the parent layer name is taken into account (e.g., 'parent_layer_name rivers').
* **Include parent in loaded sublayers**: Prepend the parent layer name in all its sublayers.* **Apply group style to layers**: Whether or not to load QML style (group_name.qml) for all layers inside a group. The QML file must have the same name as the parent folder and must be found in the layer folder.
### ποΈ Supported flle formats
The plugin supports the following file extensions:
* Vectors
* Arc/Info ASCII Coverage (*.e00)
* Arc/Info Generate (*.gen) π
* AutoCAD Driver (*.dwg) π
* AutoCAD DXF (*.dxf)
* Bathymetry Attributed Grid (*.bag) π
* Comma Separated Value (*.csv)
* Czech Cadastral Exchange Data Format (*.vfk) π
* ESRI Shapefile (*.shp *.shz π *.shp.zip π)
* FlatGeobuf (*.fgb) π
* Flexible Image Transport System (*.fits) π
* Geoconcept (*.gxt *.txt) π
* GeoJSON (*.geojson)
* GeoJSON Newline Delimited JSON (*.geojsonl *.geojsons *.nlgeojson *.json) π
* Geography Markup Language [GML] (*.gml)
* Geomedia .mdb (*.mdb) π
* GeoPackage (*.gpkg)
* GeoRSS (*.xml) π
* Geospatial PDF (*.pdf) π
* GMT ASCII Vectors (*.gmt)
* GPS eXchange Format [GPX] (*.gpx)
* GPSTrackMaker (*.gtm *.gtz) π
* INTERLIS 2 (*.xtf *.xml *.ili) π
* JSON (*.json)
* Keyhole Markup Language [KML] (*.kml *.kmz)
* Mapbox Vector Tiles (*.mvt *.mvt.gz *.pbf) π
* Mapinfo File (*.mif *.tab)
* MBTiles (*.mbtiles) π
* Microstation DGN (*.dgn)
* OpenJUMP JML (*.jml) π
* OpenStreetMap (*.osm *.pbf) π
* PCI Geomatics Database File (*.pix) π
* Scalable Vector Graphics (*.svg) π
* SQLite/SpatiaLite (*.sqlite *.db π *.sqlite3 π *.db3 π *.s3db π *.sl3 π)
* TopoJSON (*.json *.topojson) π
* Virtual Datasource [VRT] (*.vrt *.ovf π)* Rasters
* Virtual Raster (*.vrt)
* GeoTIFF (*.tif, *.tiff)
* Erdas Imagine Images (*.img)
* Erdas Compressed Wavelets (*.ecw)
* ERMapper .ers Labelled (*.ers)
* DTED Elevation Raster (*.dt)
* Arc/Info ASCII Grid (*.asc)
* Portable Network Graphics (*.png)
* JPEG JFIF (*.jpg, *.jpeg)
* JPEG2000 (*.jp2)
* Graphics Interchange Format (*.gif)
* X11 PixMap Format (*.xpm)
* Bitmap image file (*.bmp)
* PCIDSK Database File (*.pix)
* PCRaster Raster File (*.map)
* ILWIS Raster Map (*.mpr, *.mpl)
* SRTMHGT File Format (*.hgt)
* GMT NetCDF Grid Format (*.nc)
* GRIdded Binary (*.grb)
* Idrisi Raster A.1 (*.rst)
* Golden Software ASCII Grid (*.grd)
* R Object Data Store (*.rda)
* Vexcel MFF Raster (*.hdr)
* USGS Optional ASCII DEM (*.dem)
* Magellan topo (*.blx)
* Rasterlite (*.sqlite)
* SAGA GIS Binary Grid (*.sdat)
* Multi-resolution Seamless Image Database (*.sid)* Point Clouds πβ¨
* COPC Point Clouds (*.copc.laz)
* Entwine Point Clouds (ept.json)
* PDAL Point Clouds (*.bpf, *.e57, *.las, *.laz)
* Virtual Point Clouds (*.vpc)### π Where to find the plugin in QGIS
After installation, Load Them All can be found in these places:
+ `Data source manager` toolbar:
![image](https://user-images.githubusercontent.com/652785/157999846-5e355b84-d4c7-4005-b347-393f2ac3a338.png)
+ `Layer -> Add layer` menu:
![image](https://user-images.githubusercontent.com/652785/157999893-31261a30-2c16-4c66-a7ea-de61ae79d6bd.png)
+ `Plugins` menu:
![image](https://user-images.githubusercontent.com/652785/157999941-b25b70ec-aa65-4631-8d87-91ecece7f460.png)
### π» For developers
+ To build the plugin run this command on the `loadthemall/LoadThemAll` directory:
```$ make clean;make;make build```
After that, you'll get the plugin's ZIP file in `/tmp/`.
+ To run Unit Tests locally, first install Docker, then set these 2 environment variables:
export GITHUB_WORKSPACE=/path/to/loadthemall/
export QGIS_TEST_VERSION="final-3_28_13"Build the docker image (from plugin repo's root folder):
docker build . -f .docker/Dockerfile -t docker_qgis --build-arg QGIS_TEST_VERSION=$QGIS_TEST_VERSION
And finally, run the docker command:
docker run --rm -v $GITHUB_WORKSPACE:/usr/src docker_qgis
### πββοΈ Code contributors
* David Bakeman (v2.1 and v2.4)
* SΓΆren Gebbert (v2.3)
* Jean Hemmi (v3.1 and French translation)
* Guillaume Lostis (v3.3)
* Jan Caha (v3.5)### βΉοΈ More info
+ More info about LoadThemAll at http://geotux.tuxfamily.org/index.php/en/geo-blogs/item/264-plugin-load-them-all-para-quantum-gis
+ See the changelog at https://github.com/gacarrillor/loadthemall/blob/master/changelog.txt
[1]: http://downloads.tuxfamily.org/tuxgis/geoblogs/plugin_LoadThemAll/imgs/LoadThemAll_v2_4.png
[2]: http://downloads.tuxfamily.org/tuxgis/geoblogs/plugin_LoadThemAll/imgs/load_them_all_v3_0.gif
[3]: http://downloads.tuxfamily.org/tuxgis/geoblogs/plugin_LoadThemAll/imgs/LoadThemAll_ApplyGroupStyles.gif