Geographic data visualizer backend for terra-visu
Project description
Terra Layer
This django applications aims to provide an API to connect django_geosource to django_geodata. It serve an API that provides informations wanted by a frontend to configure data rendering.
Pre-requisite
You need the last version of docker and docker-compose to execute a dev instance.
Set configuration
In Django settings, you must set the different views provided to fronted, like this:
# Map settings. Sent to mapbox clientside.
TERRA_DEFAULT_MAP_SETTINGS = {
'accessToken': '<your mapbox access token>',
'backgroundStyle': '<background style file>',
'center': [-0.655, 43.141], # Default view center
'zoom': 7.7, # Default zoom
'maxZoom': 19.9,
'minZoom': 5,
'fitBounds': { # Default bounding box
'coordinates': [
[-4.850, 46.776],
[-0.551, 48.886]
],
},
}
# Style and Legend autogeneration
TERRA_LAYER_STYLE_SETTINGS = {
"circle_min_legend_height": 14, # minimum height for circle legend label.
"fill_color": "#0000cc", # Default fill color
"fill_opacity": 0.4, # Default fill opacity
"stroke_color": "#ffffff", # Default stroke color
"stroke_width": 0.3, # Default stroke width
}
Add a load xls command
You can define in the project using terra_layer a load_xls command that takes two parameters:
- -s (--scene-name): receive the scene name.
- -f (--file): the input xls file to load.
This command is launched when a file is send with a view. See the test project for an exemple.
To start a dev instance
Define settings you wants in test_terralayer
django project.
docker-compose up
First start should failed as the database need to be initialized. Just launch the same command twice.
Then initialize the database:
docker-compose run --rm web /code/venv/bin/python3 /code/src/manage.py migrate
You can now edit your code. A django runserver is launched internally so the this is an autoreload server.
You can access to the api on http://localhost:8000/api/
Test
To run test suite, just launch:
docker-compose run --rm web /code/venv/bin/python3 /code/src/manage.py test
Contributing
You must use factoryboy factories to develop your tests. The factories are available
at terra_layer/tests/factories
You must update the CHANGES.md file on each MR and increment version if needed.
0.4.12 / 2020-06-23
- Fix missing property on interactions
0.4.11 / 2020-06-04
- Command to replace the source of the layer
0.4.10 / 2020-04-27
- Filter NULL value on discretize method
0.4.9 / 2020-03-19
- Add missing display and config field properties
0.4.8 / 2020-03-16
- Add import file process only if load_xls command exists
- Add way to specify selectors when inserting in tree
- Fix boundaries when no data
- Allow to provide manual boundaries for graduated
- Fix circle size legend
- Add default style on field less layer
- Implement auto legend for Proportional Symbol
- Add mapbox gl style generator
0.4.7 / 2020-03-10
- Add initial opacity of layer
- Add insert in tree to ease processing
- Review README
0.4.6 (2019-02-06)
Fixes
- Field order was not saved
- Don't save layer group on write
0.4.5 (2019-02-04)
Fixes
- Replace SimpleRouteur by DefaultRouter that handle
format
param
0.4.4 (2019-01-22)
Fixes
- Remove id to source field translation for fields
0.4.3 (2019-01-21)
Fixes
- Fix field ordering bug
- Fix migration bug on Group
- Add permission on layers
- Remove code slug is None
Quality
- Increase coverage
- Add a lot of tests
- Add flake8 pipeline travis
- Fix coveragerc
0.4.2 (2019-01-07)
Fixes
- Fix load layer command
Improves
- Add uuid field for layer to ease import/export
0.4.1 (2019-12-19)
Fixes
- Handle group selectors and settings in tree
0.4.0 (2019-12-18)
Improves
- Add tree edition support via Scene API
- Can now have geolayers at tree root
- Geolayers and groups can be mixed in any order
0.3.14 (2019-12-18)
- Support python 3.8, django 3.0 and DRF 3.11
- Improve ordering and filters
- Drop requirement over url-filter
0.3.13 (2019-12-11)
Improves
- Update code documentation
- Allow layer ordering by view name
- Allow layer search by name and settings
- Allow layer filter by source
0.3.12 (2019-11-25)
Fixes
- Custom styles must be anonymized on exports to be importables
0.3.11 (2019-11-21)
Fixes
- Fixes some layer's export/import mistakes
0.3.10 (2019-11-20)
Improves
- Add layer_dump and layer_load_dump management command to save and restore layers
0.3.9 (2019-11-19)
Improves
- Add default layer activation support
- Add layer_dump and layer_load_dump management command to save and restore layers
0.3.8 (2019-11-13)
Fix
- Deep layer groups raises an error
0.3.7 (2019-11-12)
Fix
- slug can now be modified and is optionnal
Improves
- Add default layer activation support
0.3.6 (2019-11-07)
Fix
- Fix geolayer urls double dash
0.3.5 (2019-11-06)
Improves
- Set correct permission classes to viewsets
0.3.4 (2019-11-06)
Fixes
- Fix geostore namespace that is not necessary anymore
0.3.3 (2019-11-06)
Fixes
- Add Manifest
0.3.2 (2019-11-05)
Fixes
- Fix url namespace of geostore
0.3.1 (2019-11-05)
Improves
- Integrate terra permissions mecanism
0.3.0 (2019-10-18)
Release
- First release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file terra-layer-0.4.12.tar.gz
.
File metadata
- Download URL: terra-layer-0.4.12.tar.gz
- Upload date:
- Size: 29.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 119fcf4716c11e315ea6eea8a8f71231c532f28abfa14552c58020c340a16eee |
|
MD5 | 3d0874cb038adebee79718dfb84c28a4 |
|
BLAKE2b-256 | f3952c0cc2e1fde6b1b69f890a8f0f7a667a054020f4777d8f6a7ecb30d8ec03 |