Thanks, Tom.
How can one use the .qml file you point to in an R workflow to get
category labels and colors for the COG data you shared originally?
On 16/03/2021 12:24, Tomislav Hengl wrote:
Hi Edzer thanks for spotting this.
Cloud Optimized GeoTiffs seems to be somewhat complicated when it comes
to adding metadata etc in the tif file directly. For example, the COG
validator reports:
# rio cogeo validate
/data/raster/lcv/lcv_landcover.hcl_lucas.corine.rf_p_30m_0..0cm_2019_eumap_epsg3035_v0.1.tif
he following errors were found:
- The offset of the main IFD should be < 300. It is 1681443308 instead
- The offset of the IFD for overview of index 0 is 750, whereas it
should be greater than the one of the main image, which is at byte
1681443308
/data/raster/lcv/lcv_landcover.hcl_lucas.corine.rf_p_30m_0..0cm_2019_eumap_epsg3035_v0.1.tif
is NOT a valid cloud optimized GeoTIFF
But it seems that the tif fails the check, but works fine on the end.
We are still only testing if this has any effect on speed of access etc.
The worst case scenario is that users can not access the data because of
some small glitch in the tif header.
To produce a legend for land cover maps, we recommend using:
https://gitlab.com/geoharmonizer_inea/spatial-layers/-/blob/master/map-style/lcv_landcover.hcl_lucas.corine.rf_p_30m_0..0cm_2000_eumap_epsg3035_v0.1.qml
You can of course always visually check what you get via:
https://maps.opendatascience.eu
HTH,
T. Hengl
https://opengeohub.org/about
On 3/15/21 4:40 PM, Edzer Pebesma wrote:
Hi Tom, great work!
When reading this either with terra or stars, as in
in.tif =
"/vsicurl/http://s3.eu-central-1.wasabisys.com/eumap/lcv/lcv_landcover.hcl_lucas.corine.rf_p_30m_0..0cm_2019_eumap_epsg3035_v0.1.tif"
library(terra)
# terra version 1.1.5
plot(rast(in.tif))
#library(raster)
#plot(raster(in.tif))
library(stars)
# Loading required package: abind
# Loading required package: sf
# Linking to GEOS 3.9.0, GDAL 3.2.1, PROJ 7.2.1
plot(read_stars(in.tif))
I see that both plots show a continuous raster, not a categorical. We
spent quite a bit of time recently in stars & tmap development to get
handling and plotting of categorical rasters right (including those
having a color table), but this file doesn't give proper access to the
categories.
The metadata tags do have them:
stars::gdal_metadata(in.tif)
# [1] "1=111 - Urban fabric"
# [2] "10=212 - Permanently irrigated arable land"
# [3] "11=213 - Rice fields"
# [4] "12=221 - Vineyards"
# [5] "13=222 - Fruit trees and berry plantations"
# [6] "14=223 - Olive groves"
# [7] "15=231 - Pastures"
# [8] "16=311 - Broad-leaved forest"
# [9] "17=312 - Coniferous forest"
# [10] "18=321 - Natural grasslands"
# [11] "19=322 - Moors and heathland"
# [12] "2=122 - Road and rail networks and associated land"
# [13] "20=323 - Sclerophyllous vegetation"
# [14] "21=324 - Transitional woodland-shrub"
# [15] "22=331 - Beaches, dunes, sands"
# [16] "23=332 - Bare rocks"
# [17] "24=333 - Sparsely vegetated areas"
# [18] "25=334 - Burnt areas"
# [19] "26=335 - Glaciers and perpetual snow"
# [20] "27=411 - Inland wetlands"
# [21] "28=421 - Maritime wetlands"
# [22] "29=511 - Water courses"
# [23] "3=123 - Port areas"
# [24] "30=512 - Water bodies"
# [25] "31=521 - Coastal lagoons"
# [26] "32=522 - Estuaries"
# [27] "33=523 - Sea and ocean"
# [28] "4=124 - Airports"
# [29] "5=131 - Mineral extraction sites"
# [30] "6=132 - Dump sites"
# [31] "7=133 - Construction sites"
# [32] "8=141 - Green urban areas"
# [33] "9=211 - Non-irrigated arable land"
# [34] "AREA_OR_POINT=Area"
but GDAL doesn't give access to those in a programmatic way. I've
tried to add a .aux.xml file with the table, this worked locally (for
both stars - after using droplevels() - and terra) and might as well
work over the /vsicurl connection. File attached.
Many regards,
On 02/03/2021 18:30, Tomislav Hengl wrote:
We have mapped land cover classes for the 2000-2019 period for
continental Europe at 30-m resolution using spatiotemporal Machine
Learning (we used R and python for modeling). Explore the dynamic EU
landscapes on your palm using the ODS-Europe viewer:
https://maps.opendatascience.eu
To access almost 10TB of data using R you use the terra or similar
packages e.g.:
R> library(terra)
R> in.tif =
"/vsicurl/http://s3.eu-central-1.wasabisys.com/eumap/lcv/lcv_landcover.hcl_lucas.corine.rf_p_30m_0..0cm_2019_eumap_epsg3035_v0.1.tif"
R> tif = rast(in.tif)
From here you can use any native operation e.g. to crop some polygon
or resample / aggregate values (there is no need to download whole
data sets). A detailed tutorial on how to work with Cloud Optimized
GeoTiffs is available here:
https://gitlab.com/openlandmap/global-layers/-/blob/master/tutorial/OpenLandMap_COG_tutorial.md.
Complete list of Cloud Optimized GeoTiffs we produced so far for Europe
is available here:
https://gitlab.com/geoharmonizer_inea/eumap/-/blob/master/gh_raster_layers.csv
If not otherwise specified, the data available on this portal is
licensed under the Open Data Commons Open Database License
<https://opendatacommons.org/licenses/odbl/> (ODbL) and/or Creative
Commons Attribution-ShareAlike 4.0
<https://creativecommons.org/licenses/by-sa/4.0/legalcode> and/or
Creative Commons Attribution 4.0
<https://creativecommons.org/licenses/by/4.0/legalcode> International
license (CC BY).
Read more in:
https://opengeohub.medium.com/europe-from-above-space-time-machine-learning-reveals-our-changing-environment-1b05cb7be520
If you experience any technical problems or if you discover a bug,
please report via:
https://gitlab.com/geoharmonizer_inea/spatial-layers/-/issues
T. Hengl
https://opengeohub.org/about
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
--
Edzer Pebesma
Institute for Geoinformatics
Heisenbergstrasse 2, 48151 Muenster, Germany
Phone: +49 251 8333081
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo