Skip to main content

Geographic data visualizer backend for terra-visu

Project description

Build Status codecov PyPi version

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.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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

terra-layer-0.4.9.tar.gz (28.4 kB view details)

Uploaded Source

File details

Details for the file terra-layer-0.4.9.tar.gz.

File metadata

  • Download URL: terra-layer-0.4.9.tar.gz
  • Upload date:
  • Size: 28.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.10

File hashes

Hashes for terra-layer-0.4.9.tar.gz
Algorithm Hash digest
SHA256 360d4f93db04db9bf4e61893a01f46660109a57b75431131fc341d83bddd1ef4
MD5 7b9fa81e82a4ace2250855d95dea78e1
BLAKE2b-256 93accf0f75d0e32b8be1098827dceb573e708df7efcb374b0717194f02c0415e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page