Use this repository to create issues for the LCZ-Generator.
- if you think your issue might be sensitive reach out directly to us.
You can't reach the LCZ Generator? Have a look at the status status page
- update requirements
- update titiler
- update requirements
- We have been getting a lot of failed runs (1-2 per day) caused by
SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING]...which is likely due to an unstable internet connect (common at RUB). We added an automatic retry mechanism that retries the task three times with a two minute delay. We ensure that all prerequisites are fulfilled before trying to requeue the run. - the docker volume mount changed. We now need to mount
/var/lib/postgresqlinstead of/var/lib/postgresql/data. This made it necessary to fully restore the database from a backup. - update requirements
- fix a bug in the task monitoring. It would wait for either the tasks being done or the files being available this caused an error when trying to store the EECU seconds consumed this will also mean that a requeue will fully reprocess everything
- add feature to record the computing time for each submission. The EECU seconds as well as the overall time will be stored. This may later be utilized to enforce per-user limits to allow everyone the usage of the tool.
- add feature to ban authors from the service. This will be utilized if users continue to abuse the system e.g. by submitting many tasks or extremely large TAs even after being informed to stop.
- ban single-use email addresses. Single use email addresses may no longer be used with the LCZ-Generator.
- use redis as a task queue
- limit container resources to avoid running out of memory
- update requirements
- pin bootstrap select to version 3.1.0 to fix a bug where checkboxes were not shown
- update requirements
- add new FAQ entry on GeoTIFF data format
- Migrate to Postgres 18
- update requirements
- fix container health checks, fix url rewrite from cloud-optimized geotiffs
- update requirements
- move to python 3.13
- add google site verification
- move to TiTiler for hosting the TMS server
- upgrade requirements
- fix a bug where requeueing a submission failed, when the metadata already existed in the directory
- we need to explicitly specify the cloud project to use when working with the earthengine CLI
- upgrade requirements
- remove a leftover print statement
- port the deployment to docker
- move to Python 3.12 for the deployment
- remove deprecated
datetime.utcnow
- the new test-train-split algorithm released in 2.5.0 did not work with TAs where every class only had the minimum of three TAs (which are very bad TA sample sets, but are submitted frequently)
- upgrade requirements
- previously an invalid kmz file was reported as an error even though it was correctly rejected
- upgrade requirements
- The test-train split for the 25 bootstraps performed is now stratified per LCZ-class. This improves the robustness of the accuracy assessment and should reduce the number of failed submissions due to not enough class being available. The change is documented here and the overall impact was assessed and found to be, in most cases, minimal. If there are any questions regarding this change, please reach out.
- upgrade requirements
- for training areas to be valid, there now have to be at least 3 polygons per class present for a submission to go through
- use
uvfor requirements-management and CI
- extend routine that extracts TAs from the LCZ Generator to also include data from the old WUDAPT portal
- Use gzip compression fro requests - this will drastically speed up loading the submission table for users with a slow(er) internet connection
- upgrade requirements
- add routine to extract TAs from LCZ Generator
- add new FAQ-entries for downloading TAs and the submission table
- Revert: change the maximum allowed area from 2.5°x 2.5° to 2.0° x 2.0°
- upgrade requirements
- allow suppressing the error email to the submitter for a requeue
- allow requeueing multiple submissions at once
- implement monitoring of all earthengine tasks to be able to terminate early if something went wrong. Previously the task would only terminate when the time limit was reached
- change the maximum allowed area from 2.5°x 2.5° to 2.0° x 2.0°
- upgrade requirements
- address geometry warnings when setting a CRS
- upgrade requirements
- migrate to a google cloud project
- fix the centering of the datatable components when resized
- upgrade requirements
- remove export to earthengine to save computation time
- fix data tables appearance after 2.0.0 changes
- upgrade requirements
- add bootstrap styling to the accuracy slider
- update dependencies
- update dependencies
- add an sri-checker as pre-commit hook and in CI to avoid invalid SRI-hashes ending up in production
- update the links for the global LCZ map to point to the updated version in earthengine
- make the css/js upgrade write atomically
- migrate the dependency management from
requirements-toolstopip-tools
- fix a bug where the selection of rows for download was not possible due to a js/css hash being invalid
- update dependencies
- change the order of the leaflet layer in the display of the global LCZ-Map so they appear similar to a GIS
- update dependencies (CVE in Werkzeug)
- update dependencies
- update FAQ with multi-temporal LCZ mapping which is now open-source on GitHub
- add versioning to tile map services (TMS). Now version
v2and versionv3are available as well as alatestversion always pointing towards the latest available version (currentlyv3). To avoid breaking existing connections to the TMS, old urls will now redirect to the latest version. This way was selected since no versioning was provided for the old urls hence updates can be expected (similar to open street map). The documentation was updated accordingly.
- update dependencies #442
- update FAQ with multi-temporal LCZ mapping which is now open-source on GitHub #446
- add feature to allow inverting coordinates for multiple Tile Map Services #445
- update requirements
- Make the generic error email a little more specific and suggest a fix. Since most unhandled errors are caused by too few training areas
- change the license from CC BY-SA to CC BY-NC-SA. To be fully transparent: The following changes were applied to the license:
commit fb5cfabcf92fdeac19775542f9a78e8daf4e449e
Author: Jonas Kittner
Date: Wed Jun 14 18:22:31 2023 +0200
change the licence from CC BY-SA to CC NC-BY-SA
diff --git a/dashboard/templates/attribution_text.html b/dashboard/templates/attribution_text.html
index 0f48c48..69adffc 100644
--- a/dashboard/templates/attribution_text.html
+++ b/dashboard/templates/attribution_text.html
@@ -31,7 +31,7 @@
<li>
{{ content.LASTNAME|e }}, {{ content.FIRSTNAME|e }}
({{ content.SUBMISSIONDATE[:4]|e }}). WUDAPT Level 0 training data for {{ content.CITY|e }} ({{ content.COUNTRY|e }}), submitted to
- the LCZ Generator. This dataset is licensed under CC BY-SA, and more information is available at
+ the LCZ Generator. This dataset is licensed under CC BY-NC-SA, and more information is available at
<a
href="https://lcz-generator.rub.de/factsheets/{{ content.HASHID|e }}/{{ content.HASHID|e }}_factsheet.html"
>
diff --git a/dashboard/templates/tos_text.html b/dashboard/templates/tos_text.html
index 09aaca0..77dee0e 100644
--- a/dashboard/templates/tos_text.html
+++ b/dashboard/templates/tos_text.html
@@ -1,11 +1,12 @@
<p class="tm-p-mb">
All data are distributed under the
- <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank">
- CC BY-SA 4.0 license</a>. In particular, permission is hereby granted, free
- of charge, to any person obtaining a copy of this data and associated
- documentation files, to copy and redistribute the material in any medium or
- format, and to remix, transform, and build upon the material for any purpose,
- even commercially, all subject to the following:
+ <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank"
+ >CC BY-NC-SA 4.0 license</a
+ >. In particular, permission is hereby granted, free of charge, to any person
+ obtaining a copy of this data and associated documentation files, to copy and
+ redistribute the material in any medium or format, and to remix, transform,
+ and build upon the material for non-commercial use only, all subject to the
+ following:
</p>
<ul>
<li>- Document how to use the tile map service (TMS) of the global LCZ map in qgis and
contextily
- update requirements
- migrate to
sqlalchemy>= 2.0 - make the codebase python3.11+
- migrate to bootstrap 5. Attribution Guidelines, Terms of Service and Declaration of Consent now show up as a modal instead of a popup
- update requirements
- fix a bug where mixed geometry type (
PolygonandLineString) caused the training area database insert to fail.
- tests against python 3.11
- update requirements
- fix warning and remove pinning of scikit-learn for
min_samplesofDBSCAN
- fix a bug where nothing was logged, because the log level was set incorrectly set to
ERROR(the default) instead ofINFO - fix a bug where no errors were sent to sentry, because the
DSNwas set incorrectly - fix a bug where the DOI did not point to the generic DOI within Zenodo.
- fix a typo in the integrity check of the
leaflet.jslibrary - Now the email also takes the original casing into account
- fix deprecation warnings
- vendor all used images directly to not rely on 3rd parties
- update all external
cssandjsthat is used - check the integrity of every
jsandcss - update the dependencies
- render the date displayed in the submission table in the user's timezone and format
- keep the casing the user entered when submitting. Do not capitalize it anymore. Existing records were updated using
INITCAPto be compatible. - make the codebase python3.10+ (using
pyupgrade)
- implement a script for safely requeueing a submission. A few prerequisite need to be fulfilled before being able to requeue. If one was not satisfied, the user got a second error email. (almost all necessary requeues are caused by an unstable internet connection at the data center or an outage of the university-Email service - both are outside of what we can fix (we already have a dozen exponentially backed off retries))
- do not test against python 3.9 anymore, since the deployed version is python 3.10
- extent
mypychecking and add missing type annotations - the codebase is python3.10+ now removing most imports from
typingand only testing against python 3.10 also configuringpre-commitaccordingly - fix some test pollution that was caused by incorrectly mocking the
mapping_process
- fix broken link to institute logo
- fix a bug where the logger handler was not cleared properly
- update dependencies
- add link to Google Earth Engine and show code snippet
- update requirements
- improve the error emails
- improve error and performance monitoring
- implement an XYZ tile map server for the global LCZ map
- implement an inverted y-axis redirect for the global LCZ map tile map server
- fix broken shp links in shape files. Previously only the
.shpcould be downloaded
- update requirements
- add new API to request the quality control polygons and point shape files
- upgrade version of
Pillowbecause9.1.0had a CVE-2022-30595
- change internal dependency management tool
- multiple version upgrades, now all bundled in one PR
- dependency updates
- dependency updates
- Show the full firstname in the citation suggestion for the training areas
- CI improvements
- test speed improvements
- pre-commit autoupdate
- dependency updates
- improve the loading speed of the submission table
- extend the submission form expiration time (Error CSRF Token expired)
- add more retries to all email sending calls to address reoccurring short outages of the RUB-Email service
- dependency updates
- fix a bug where cases with two folders in the input file, but one only with 1 polygon were not rejected and the processing would fail in the end
- fix a bug where filenames with not a single ascii character would cause an internal server error
- dependency updates
- make the error message for too few polygons more explicit
- fix a typo on the index page
- fix a bug where an error
403was raised when trying to access*.kmzfiles - fix a bug where a file just called
.kmlor.kmzwould cause and internal server error500
- dependency updates
- add item to FAQ for submission deletion
- added two missing tiles for EO data in eastern Alaska
- fix a bug where a training area file would pass the quality check, even though it only had one LCZ class
- fix a bug where a submission was not fully removed, even though the initial check failed
- dependency updates
- do not send the processed results via email anymore, generate only a download link in the email
- add a
.kmzfile with the LCZ map and already applied colormap to the archive- a link for the download of this file is also included in the factsheet
- fix a bug where a missing asset in earthengine would cause the mapping process to fail
- dependency updates
- fix/handle an (upstream) bug where the asset ingest would randomly fail, but succeed on the second try
- dependency updates
- fix a bug where an internal server error (500) would be raised if the
kmlfile had an invalid syntax and could not be parsed - fix a bug where the quality control would fail
- fix a bug where 2 dimensional
kmlfiles (only two coordinates, no z coordinate) would cause an error. 2D polygons are now converted to 3D polygons, adding 0 as the new z-value - fix a bug where an invalid
kmzfile caused an internal server error (500) - fix a typo
succesfully→successfully
- dependency updates
- add a new web message for the invalid
kmzfile case
- improve the internal error notification system
- add the final reference and DOI for the paper: Demuzere et al. (2021)
- restructure
/- index page
- add a
/faqroute - add a quality disclaimer to the top of the submission page
- add a getting started to the index page
- fix a bug where multi part features could not be processed. The features are now split up into single part features so the quality check can work on the individual polygons
- add a
/robots.txtroute so crawlers can access it
- fix a bug where fonts were missing
- fix a bug where the qc failed when an LCZ class was present in the training data, but not in the final result coming from earth engine
- fix a bug where the deprecation of
ee.Classifier.randomForestcaused the mapping process to fail - fix a bug where a submission would be displayed in the
/submissiontable even though it failed - fix a bug where the colors of the provided LCZ color maps and the used colors would differ from each other
- fix a bug where a mapping process would not terminate if the earth engine mapping process failed
- change the header in the Terms of Service page for the Declaration of Consent to be the same font size
- use a
.clrArcGIS ascii formatted colormap
- add a favicon route at
/favicon.ico - limit the size of incoming request to max 10 MB
- fix a bug where not always the best result per author and city was displayed in the show best submission table
- fix bug where burger menu could not be closed on the submission table page
- fix general typos
- change html page title of the index page from
Indexto toLCZ Generator - link in page footer for github issues now points to the issue overview instead of the form where a github user account was required
- update Terms of Service
- split Terms of Service and Attributions in separate sections in the factsheet
- add a Privacy Note to the footer
- results are now sent via a different email address
- the LCZ Generator is now accessible via a shorter url:
https://lcz-generator.rub.de - the histogram of the number of Training Areas per class now only shows integer values on the y-axis
- whitespace escape sequences are now removed in the reference and remarks section
- add colormaps for QGIS and ArcGIS to the results zip archive
- add a suggestion for citing the training data to the factsheet
- fix bug where leading and trailing whitespaces was not stripped in firstname, lastname and city
- added footers to all pages including useful links
- added a navbar to improve navigation between different pages
- fix typo on index page footer
- change
FreqtoCountin<id>_TA_statistics.csv - update the Terms of Service: now using
CC-BY - update the background image of the index page with the new filtered version of the european LCZ map
- add link to wudapt.org in the index page footer
- change paper status from in preperation to submitted
- fixed a bug where the country selection was not kept when reloading the page or after being redirected from the same page
- the
/country/<continen_code>-API now only takes arguments with length2.- all other requests are not executed, instead aborted with error
400(Bad Request)
- all other requests are not executed, instead aborted with error
- reformat all
htmltemplates
- add popover to the publish name and email checkbox
- a
?is now present. When hovering over it, a help message is displayed