v1.14.0
Known issues
- In some cases, Layman does not start with error
OSError: Error reading file '/qgis/data/demo/workspaces/<workspace>/layers/<layer>/<layer>.qgis': failed to load external entity "/qgis/data/demo/workspaces/<workspace>/layers/<layer>/<layer>.qgis"
. See #465.- Fixed in v1.14.1.
- Normalized raster file created by Layman can be 100x bigger then uploaded raster, because compression is not used.
- Fixed in v1.15.0.
- NoData values are changed to 0 during normalization. #525
- Fixed in v1.15.1.
Upgrade requirements
-
It's strongly recommended to backup data directories, especially
deps/postgresql/data
, because of database upgrade. -
After stopping layman and backing up data directories, you need to migrate PostgreSQL data directory from v10 to v13. We created script that automatically migrates two databases:
gis
(Layman's database)hsrs_micka6
(Micka's database, only if exists)
If you use other databases in the postgres instance, their migration is up to you (you can inspire inside our script).
Migration script:
# Enter your layman's root directory. cd /path/to/your/layman/instance # Run script for DB migration. # It's necessary to run this script from layman's root directory ./src/layman/upgrade/upgrade_v1_14_postgres.sh
It may take some time to run this script and it will produce large temporary files (database dumps).
-
Change LAYMAN_CLIENT_VERSION to
v1.9.0
-
Set new environment variables
- LAYMAN_GS_NORMALIZED_RASTER_DIRECTORY=normalized_raster_data
- If you are running Layman with development settings, set value to
normalized_raster_data_dev
instead
- If you are running Layman with development settings, set value to
- DEFAULT_CONNECTION_TIMEOUT=10
- LAYMAN_GS_NORMALIZED_RASTER_DIRECTORY=normalized_raster_data
-
If you are running Layman with development settings, run
make build-dev
make client-build
make timgen-build
Migrations and checks
Data migrations
- All bounding boxes are cropped not to exceed extent of EPSG:3857 projection ([-20026376.39, -20048966.10, 20026376.39, 20048966.10]) in all sources except filesystem and DB table. Only bounding boxes are affected, not data itself.
Changes
- #167 Allow publishing also raster geospatial data using POST Workspace Layers and PATCH Workspace Layer.
- Following formats are supported:
- Following input combinations of bands and color interpretations are supported:
- Following input CRS are supported:
- EPSG:3857
- EPSG:4326
- Published raster files are normalized before registering to GeoServer. Normalization includes conversion to GeoTIFF in EPSG:3857 with overviews (pyramids). NoData values are normalized as transparent only if Alpha band is not available and NoData is set for each band. Normalized rasters are stored in
normalized_raster_data
directory inside LAYMAN_DATA_DIR. Normalized GeoTiff is then published as new layer (coverage) on GeoServer. - Raster layers are not stored in DB table. WFS is not available for raster layers. GET Workspace Layer and PATCH Workspace Layer do not return items
wfs
anddb_table
for raster layers. - Calling WFS-T endpoint starts asynchronous tasks only for vector layers.
- #167 Add
file_type
item tofile
item in GET Workspace Layer response to distinguish raster and vector layers. - #167 Metadata property
scale_denominator
was removed. Its value is now accessible as subproperty of newspatial_resolution
metadata property. The new metadata propertyspatial_resolution
has one of two subproperties:scale_denominator
used for vector dataground_sample_distance
used for raster data
- #367 When publishing or patching layer or map, it's bounding box is limited to extent of EPSG:3857 projection in all sources except filesystem and DB table. Only bounding box is affected, not data itself.
- #347 When ordering publications by title, only letters, numbers, and spaces are considered.
- #382 Map composition schema allows new properties
hs.format.externalWFS
andworkspace
. It was already introduced in v1.13.1. - #385 The
style
property can be specified using a string in SLD format, URL to SLD file or JSON object. It was already introduced in v1.13.1. - Errors
19
: 'Layer is already in process.' and29
: 'Map is already in process.' are merged into49
: 'Publication is already in process.'. - Fix: In case of synchronous error during PATCH Workspace Layer layer data on the server remains always untouched. Previously, layer data on the server could be lost.
- Fix: Raise error when more than one main layer file is sent in POST Workspace Layers or PATCH Workspace Layer.
- Fix #408: Skip non-WMS layers in thumbnail generation. Previously thumbnail generation failed.
- #418 Combination of none geometry type in layer file and any geometry type in QML file is allowed from now.
- #380 Enable to upload geojson with "id" attribute with non-unique values.
- #383 Add new Makefile target
upgrade-after-timeout
to finish upgrade in case of GeoServer call timeout. - Fix GET Workspace Layer documentation;
style
item was incorrectly used instead ofsld
. - #347 Upgrade PostgreSQL 10 to 13.3 and PostGIS 2.4 to 3.1. Use docker image from layermanager/postgis@hub.docker.com, source is located at layermanager/docker-postgis@github.com.
- #367 Upgrade gdal from 2.4 to 3.3. Use docker image from osgeo/gdal@hub.docker.com, source is located at osgeo/gdal@github.com.
- #367 Upgrade also
- python from 3.6 to 3.8
- flask from 1.1 to 2.0
- werkzeug from 1 to 2
- chromium from 77+ to 90+
- chromedriver from 77+ to 90+
- attrs from 20 to 21
- click from 7 to 8
- itsdangerous from 1 to 2
- jinja2 from 2 to 3
- markupsafe from 1 to 2
- pytest-rerunfailures from 9 to 10
- gunicorn from 19 to 20