Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 29 20:53
    alpha-beta-soup commented #576
  • Nov 28 22:15
    tomkralidis commented #581
  • Nov 28 21:51

    tomkralidis on master

    displays the collection type in… (compare)

  • Nov 28 17:40

    tomkralidis on master

    increase max zoom for item zoom… Merge pull request #580 from pv… (compare)

  • Nov 28 17:40
    tomkralidis closed #573
  • Nov 28 00:22
    pvgenuchten labeled #581
  • Nov 28 00:22
    pvgenuchten opened #581
  • Nov 27 21:40
    pvgenuchten commented #576
  • Nov 24 09:17
    alpha-beta-soup commented #576
  • Nov 24 09:17
    alpha-beta-soup commented #576
  • Nov 23 20:03
    pvgenuchten commented #576
  • Nov 23 20:00
    pvgenuchten commented #576
  • Nov 23 07:51
    alpha-beta-soup commented #469
  • Nov 23 03:17

    tomkralidis on master

    Update example vector provider … (compare)

  • Nov 20 11:30
    tomkralidis commented #572
  • Nov 20 10:17
    ricardogsilva commented #571
  • Nov 20 09:57
    ricardogsilva commented #572
  • Nov 19 23:15

    tomkralidis on master

    add distutils to fix pyproj ins… (compare)

  • Nov 19 23:10

    tomkralidis on master

    add distutils to fix pyproj ins… (compare)

  • Nov 19 16:23
    pvgenuchten commented #576
paul van genuchten
@pvgenuchten
ok, PR created at geopython/pygeoapi#575
Angelos Tzotsos
@kalxas
@pvgenuchten yes we should add a slide and fill in with all the progress made
Angelos Tzotsos
@kalxas
paul van genuchten
@pvgenuchten
have a look at geopython/pygeoapi#576, demo-master recently redeployed, now all microdata is removed, however... seems some of the schema-org clients out there do not find any schema-org anymore, from the ajax-injected json-ld
In theory it could still be the context url, but i expect it to be the ajax method, see https://webmasters.stackexchange.com/questions/100935/why-wouldnt-google-be-able-to-read-ajax-generated-json-ld-schema-org-markup-par
paul van genuchten
@pvgenuchten
other aspect to consider was found here http://linter.structured-data.org, when validating https://demo.pygeoapi.io/master/collections/dutch_windmills it returned an error, however https://demo.pygeoapi.io/master/collections/dutch_windmills?f=html does actually parse something (a button?), so seems this validator throws a accept-header to pygeoapi, which causes pytgeoapi to return an encoding the validator did not understands (not html or json-ld)
paul van genuchten
@pvgenuchten
created geopython/pygeoapi#577 for ^^^
Tom Kralidis
@tomkralidis

@/all 0.9.0 released https://twitter.com/pygeoapi/status/1329488434814218241

Thanks for the contributions — onwards !

paul van genuchten
@pvgenuchten
:thumbsup:
Tom Kralidis
@tomkralidis
great presentation @geekdenz / @alpha-beta-soup ! https://twitter.com/geekdenz/status/1329590767224905730
paul van genuchten
@pvgenuchten
nice!
Francesco Bartoli
@francbartoli
nice work @geekdenz
Just van den Broecke
@justb4

At some point would like to serve OGC API Tiles in pygeoapi directly from PostGIS. This is possible in PostGIS 3+ via ST_AsMVT. We could extend the current MVT Provider. But there is much more to it. Been playing with pg_tileserv. Though we could integrate pg_tileserv using MVT proxying to data: <URL>, in terms of performance a direct integration, calling pg_tileserv directly from Python as a shared lib, like we do with OGR and rasterio (?), would be the most powerful. There are no Python-bindings but there is a Router object and unit test code shows pg_tileservcan be called using a CGI-like URL call with HTTP response recording, so could be a very thin coupling. Python can call on golang via FFI.

What do you folks think? No hurry, more like something in 2021 I could work on. Maybe experiment with pg_tileserv some more to see if direct from PostGIS is performant enough for real-world apps. I submitted a CrunchyData/pg_tileserv#64 to easily play with Docker.

Francesco Bartoli
@francbartoli
That’s really nice @justb4! Why not implementing https://github.com/geopython/pygeoapi/blob/48d00d67d5dc7b9a3dcc2980aaa472c1fff2d630/pygeoapi/provider/tile.py#L37 for a python native PG provider?
Francesco Bartoli
@francbartoli
I mean to extend the minimal work done by Paul here https://github.com/pramsey/minimal-mvt/blob/master/minimal-mvt.py and bring it into a new PGMVT provider
Just van den Broecke
@justb4
@francbartoli Yes, that would be a good start. Was not aware of that work by Paul.
Francesco Bartoli
@francbartoli
And probably this commit tobinbradley/dirt-simple-postgis-http-api@50385b4 would give a better query performance for PG3. I would say here that using starlette with an async mimic + an async engine to the db (there are many!) might give the best
Jorge Samuel Mendes de Jesus
@jorgejesus
Interresting discussion on vector tiles, had alot of problems at the start of 2020 with vector tiles and the lack of support of anything outside webmercator was...traumatic....ended up implemeting T-rex.
paul van genuchten
@pvgenuchten
I updated geopython/pygeoapi#576 (reverted previous work, did a hack to 'fix' the url only on the embedded snippet). Ready to review
Just van den Broecke
@justb4
@jorgejesus yes, T-Rex (in Rust!) comes in mind when thinking about alternative tilegrids/projections. Are you aware of the Geonovum activity for VecTiles? Next meetup dec 9.
Jorge Samuel Mendes de Jesus
@jorgejesus
@justb4 Thank SOOOOO MUCH !!!!
Just van den Broecke
@justb4
Well, the outcome should be mainly a recommendation for The Netherlands in this doc. But a major role for OGC API Tiles and hopefully some kind of testbed activity where we can apply pygeoapi, if even with a T-Rex/pg_tileserv backend. One of the strengths with pg_tileserv is to define a PostGIS Function i.s.o. a Table as Layer endpoint. This opens room for all kinds of specialized behaviour like scale-dependent stuff etc.
Tom Kralidis
@tomkralidis

@francbartoli / @pvgenuchten / @kalxas / @justb4 / @jorgejesus / @alpha-beta-soup : FYI the GeoNode summit has made a call for presentations for the Summit on 07-09 December 2020.

There is on again/off again discussion around pygeoapi as a possible backend as part of a GeoNode vision.

I’d like to submit a proposal and present at the Summit. Who would like to join/help develop the abstract/deliver the presentation at the Summit?

Francesco Bartoli
@francbartoli
I don’t have time to help for preparing the presentation but definitively I can help to present it
Thanks @tomkralidis for raising it
Tom Kralidis
@tomkralidis
thanks @francbartoli
Angelos Tzotsos
@kalxas
@tomkralidis count me in
Tom Kralidis
@tomkralidis
Just van den Broecke
@justb4
count me in as well.
Tom Kralidis
@tomkralidis
paul van genuchten
@pvgenuchten
I think it totally makes sense to have pygeoapi as a geonode backend (what is the status of map-image rendering for oapi-maps/tiles, are we adopting some technology in pygeoapi (mapnik/geo_rendering?) or delegating to map/geo/qgisserver ...)
paul van genuchten
@pvgenuchten
or everything is vector these days? https://plotly.com/python/mapbox-county-choropleth
Tom Kralidis
@tomkralidis
@pvgenuchten . status of maps in pygeoapi atm is R&D. I have some a local OAMaps branch (not pushed yet) that uses MapScript as a backend, both for an existing mapfile as well as building one on the fly for a given collection. But the basic concept is there: accept API parameters, send to provider (map), which returns say a web image or JSON about a click point (a la GetFeatureInfo). We should also follow up on the status of the OAMaps specification itself.
Nicu Tofan
@TNick
Hello. Any examples out there for using openlayers with pygeoapi?
Francesco Bartoli
@francbartoli
Hi @TNick, if you mean to consuming pygeoapi endpoints then OL is already able to do it. See example here https://openlayers.org/en/latest/examples/geojson.html
Nicu Tofan
@TNick
@francbartoli yes, that is what I mean. But how about raster data? I have a one image collection to get me started in pygeoapi that I can see using the html. How do I get it to show in ol??
Francesco Bartoli
@francbartoli
What endpoint are you facing for the raster data?
Nicu Tofan
@TNick
Not sure I undestand the question. On the local computer I have pygeoapi inside flask served at http://127.0.0.1:5500/oapi so that http://127.0.0.1:5500/oapi/collections/image1 is the image I try to display. I also have a CRA application served at http://127.0.0.1:3000/#/ which has an open layers map. It can present a https://basemap.nationalmap.gov base layer and I would like to have my image on top of that. Th image itself is a geotiff image.
To narrow down the question, what I'm asking is what layer (guessing ImageLayer), what source (maybe ImageWMS) and what options to use.
Francesco Bartoli
@francbartoli
image1 would be a collection right, but what OGC API specification endpoint is that? In other words what is your pygeoapi configuration for that collection?
Nicu Tofan
@TNick
pygeoapi-config.yaml
"what OGC API specification" how can I determine that? pygeoapi is version 0.9.dev0 if that helps.
Francesco Bartoli
@francbartoli
@TNick I think image1 is an OACov collection AFAIK. Now, you could optimise the Geotiff to be a COG and use its embedded tiles machinery to add the OATiles endpoints to that collection. Unfortunately there isn’t a COG tiles provider yet but you can open a ticket for it. Maybe some developer can jump on it unless you want to provide a PR to pygeoapi. We’d be very happy, I’m quite sure others are interested to such a use case
Tom Kralidis
@tomkralidis
Echo @francbartoli As well, the CoverageJSON output can be viewed in the CoverageJSON playground at https://covjson.org/playground/. I suppose we can make a link relation right to the CoverageJSON URL to from the pygeoapi collection metadata, or add the leaflet/covjson plugin as pygeoapi’s coverage HTML output.
Nicu Tofan
@TNick
Thank you both. Would it be a fair to say that, even with leaflet-coverage one cannot right now display an image provided by the pygeoapi ?
Tom Kralidis
@tomkralidis
Displaying raw raster data in HTML is a different beast compared to web friendly images like PNG/JPEG in that you need a specific renderer. Geotiff.js does this for GeoTIFFs. leaflet-coverage does the same for CoverageJSON. So if you would like to display raw raster data in HTML the aforementioned are some options. If we thinking map images which are web friendly representations of raster (or vector) data, then OGC API - Maps (today’s emerging OGC API standard covering the OGC:WMS requirement) is critical path. pygeoapi does not support OGC API - Maps as of yet; as well. See the recent discussion here in the few days on this topic.