biommap/utils/README.md

57 lines
2.4 KiB
Markdown
Raw Normal View History

2021-09-13 14:38:41 +00:00
utils
=====
This folder contains some scripts for preparing some data for the municipality of Wasseiges.
## Init
The scripts are python scripts that should run into a virtual environment.
First, install the local dependencies:
```bash
$ pip3 install -r requirements.txt
$ source bin/activate
```
## Import of the layer Arbres remarquables
- This data is downloadable by <http://geoportail.wallonie.be/catalogue/d594f5a3-34ac-4cc2-a357-aae5d5263f35.html>
- The layer MUST be converted to a valid geojson format in WGS84 coordinates. You can use QGIS to do so.
2021-09-13 14:38:41 +00:00
- Then simply run the script `geojson2sql` to produce a SQL file with some INSERT instructions.
```bash
(venv) python3 geojson2sql.py
```
### Some notes about this import
The import script creates database entries by filling not all the fields of the table. Only mandatory (non-nullable) fields and informative fields are filled.
2021-09-13 14:38:41 +00:00
Here is the column list and the corresponding values list for the table of sites
2021-09-13 14:38:41 +00:00
```
column_list = ['id_site', 'uuid_sinp', 'id_program', 'name', 'geom', 'timestamp_create', 'id_type', 'obs_txt']
values_list = ['__ID__', '__UUID__', '2', 'import arbres remarquables', '__POINT__', '__NOW__', '1', 'import' ]
2021-09-13 14:38:41 +00:00
```
Some values in these list MUST follow some special conventions:
2021-09-13 14:38:41 +00:00
- the "__ID__" value will be converted to a unique identifier for the site that will be created by adding 1000000 to the index of the geojson table.
- the "__UUID__" value will be converted to a a formula that creates uuid value
- the "__POINT__" value will be converted to a PostGIS ST_GeomFromText formula based on the coordinates of the geojson file
- the "__NOW__" value will be converted to a formula that creates a timestamp
2021-09-13 14:38:41 +00:00
Furthermore, the `id_program` and `id_type` MUST match the correct values! The first field will decide which program the sites will be attached to.
2021-09-13 14:38:41 +00:00
Lastly, if the values starts with `properties.`, it will be mapped to a property in the geojson. E.g, `properties.COMMENTAIR`.
For populating the table of visits, the same function is applied. But there is another special convention that applies for building the json details of the visit: the "__JSON__" value will be converted to a dedicated formula that will build the json object in the database.
Here is the column list and the corresponding values list for the table of visits
```
column_list = ['id_site', 'json_data', 'timestamp_create', 'obs_txt']
values_list = ['__ID__', '__JSON__', '__NOW__', 'import']
```