-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Give support to an OGC API Tiles layer #50296
Comments
@doublebyte1 This was already working when we tested in 2021 during the Modular OGC API Workflows project using the GDAL OGC API driver which is available in GDAL 3.2+. Maps, Coverages, Tiles (including Map tiles, Coverages tiles, Vector tiles) were all working well. (NOTE: Even though the ogcapi GDAL driver is classified as raster, it also supports vector tiles. There is a comment saying that it could perhaps eventually also be merged with the oapif OGC API - Features driver). From the menu bar, you select Layer > Add Layer > Vector (for vector tiles) or Raster (for Maps / Coverage (Tiles)) ; keep File radio button selected, and for Vector dataset prefix the URL to either the landing page or an individual collection by Then you can select a preferred API, format, TileMatrixSet as per the opening options of the OGC API driver. See (draft) demo video at https://www.dailymotion.com/video/x80xzex (password: ModularWorkflows) at ~18:30 timestamp. It would be nice to experiment with this again at the Web Mapping Code sprint next week to make sure it still works as expected. EDIT: Just tested, and this still works: |
Given the above, we should also consider overall OGC API workflow in QGIS ( |
I think that is a great idea. We could add a collection endpoint, and QGIS would give the option to render it in whichever OAPIs are available (pretty much what is implemented now). @tomkralidis but maybe OGC API Records should stay out of this? What do you think? |
@jerstlouis I suppose this is the matching (not 100% clear from the documentation of the driver):
|
@doublebyte1 Yes, correct, that is the mapping of the resources / access mechanisms to the OGC API Standards. As you say, Tiles is not only for Vector Tiles, but also for Coverage Tiles and Map Tiles. Note that one of the first things that should be fixed is this issue about supporting 2DTMS 2.0 in GDAL: which really should not be too difficult, so a good thing to tackle at this upcoming code sprint. |
@jerstlouis that sounds good. I have tested it and it works for:
|
I created a new issue here: #52674 |
@doublebyte1 I just tested and OGC API - Maps does work here on my end in QGIS 3.28.3-Firenze with our end-points. If you select Layer menu, Add Raster Layer, leave File radio button selected, then Make sure your GDAL is 3.6 or later and includes this fix: for |
I have GDAL 3.6.2, released 2023/01/02 but it does not work.
|
@doublebyte1 I can confirm that it works using either QGIS 3.28.4 with GDAL 3.6.2 or QGIS 3.28.5 with GDAL 3.6.3. |
@agiudiceandrea Thank You! It seems to be a problem with the mac os package, which uses an older version of GDAL. |
@jerstlouis I have submitted this to address some issues: OSGeo/gdal#7656 |
This seems to be raster tiles, only? |
@doublebyte1, so, was your previous comment:
incorrect about the GDAL version used? |
@doublebyte1
|
@agiudiceandrea On my system, I am running gdal 3.62. I am running the current version of QGIS 3.30. In linux, using the master version of QGIS and the master version of gdal (both compiled from source), everything works as expected. |
@jerstlouis With the fix I was able to load raster tiles in QGIS, but not vector tiles. Maybe because of the issue you described here: https://github.com/OSGeo/gdal/pull/7656/files/955d044b188ee338f923000a3bf161530cecb7a7#r1181229171 |
With this OSGeo/gdal#7656 , we can read OGC API (raster) tiles in QGIS, at least from WorldCRS84Quad. I will close this issue for now. |
* added client access example in tiles * fixed minor issues * Update tiles.md --------- Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
@doublebyte1 The supported end-point for GDAL / QGIS are either the landing page (ending here at Does it work if you remove the (unless new support for tileset lists end-points was added more recently to GDAL and I am not aware of it). |
No, it doesn't.
|
Hi, I'm testing the compatibility of QGIS with OGC API Tiles to access tiled data and I'm not very successful. Loading by tileset descriptionnot supported Examples are from OpenLayers: raster, vector.
Loading from the landing page
Loading from the collection description
{
"dataType": "map",
"crs": "http://www.opengis.net/def/crs/EPSG/0/4326",
"extent": {
"spatial": {
"bbox": [[-180, -90, 180, 90]]
}
},
"links": [
{
"rel": "self",
"type": "application/json",
"href": "https://maps.gnosis.earth/ogcapi/collections/blueMarble?f=json"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage",
"type": "image/tiff; application=geotiff",
"href": "https://maps.gnosis.earth/ogcapi/collections/blueMarble/coverage?f=tif"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-rangetype",
"type": "application/json",
"href": "https://maps.gnosis.earth/ogcapi/collections/blueMarble/coverage/rangetype?f=json"
}
]
} QGIS 3.38.0 |
Status of the Add Layer (Raster and Vector) OGCAPI option using 3.39.0-Master 399f7df1c7 and GDAL3.10.0 dev-126a88523a: |
Details to Reproduce the results on the previous commentPlease note that in order for GDAL to be able to resolve the relative links on the GNOSIS server the version should be >= OSGeo/gdal@b289928 OGC API - Maps
OGC API - Tiles (raster)
OGC API - Coverages
OGC API - FeaturesMore details on this issue. OGC API - Tiles (vector)More details on this issue. |
Support of OGC API - Tiles (raster) is only partial as QGIS cannot load tileset from tileset description. |
@kudlav I don't think GDAL supports pointing it directly to a tileset end-point yet (e.g., https://maps.gnosis.earth/ogcapi/collections/Daraa/map/tiles/WebMercatorQuad). Perhaps we need to file an issue (feature request -- it's not a bug) for GDAL about this first? An implementation can actually conform to OGC API - Tiles "Core" without even providing tileset metadata. If we really want to be comprehensive, it should also be possible to open a tileset by providing a template using variables for level, row, column (e.g., |
Feature description
With the publication of part 1 of OGC API - Tiles, it would be great if QGIS would support adding layers published using this standard.
The idea would be to allow users to use the browser panel or the layer menu, to connect to a conformant server, and pull OGC API Tiles layers. OGC API Tiles supports vector, map and coverage tiles, but I think that it would be easier to start with vector tiles.
Additional context
If the community thinks this useful, I could start working on a PR.
The text was updated successfully, but these errors were encountered: