Skip to content
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

GeoNode maps widgets available for external services layers #11085

Open
ale-cristofori opened this issue May 19, 2023 · 2 comments
Open

GeoNode maps widgets available for external services layers #11085

ale-cristofori opened this issue May 19, 2023 · 2 comments

Comments

@ale-cristofori
Copy link

Is your feature request related to a problem? Please describe.
At the moment it is not possible in GeoNode to create widgets in a map resource for layers that are loaded as external services.

Describe the solution you'd like
The optimal solutions would be to have a map resource in GeoNode where a user can create a widget, and apply arithmetical operations (as already happens in MapStore) for both layers sourcing from the GeoNode DB and sourcing from external services (optimally including ESRI MapServer services)

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

@ale-cristofori
Copy link
Author

Having an initial conversation with @allyoucanmap we noticed that at the moment a layer loaded from an external resource, in this case GS-STABLE layer mapstore:states won't retrieve any information about requesting data with the WFS protocol, as opposed to layers sourcing from data loaded to the GeoNode Geoserver see below

IN CASE THE SERVER IS GEOSERVER
The presence/absence of the WFS in the links array provided with the response, relies on the GeoNode BE who is offering the resources resorting to its own model, reading the response of Geoserver and making it suitable to be read by GeoNode. If we wanted to implement the retrieval and parsing of this piece of information making it available to GeoNode to it the same way as we do for WMS, thus enabling widgets for external services there are a few components to be considered:

  1. The external server should support WFS for the particular layer we want to create the widgets for.
  2. There are no restrictions on the retrieval of data (such as GeoFence rules for example)
  3. GeoNode BE must be enabled to read, parse and make available the feature to the MapStore embedded map component.

On top of this a few more aspects need to be taken into account:

  1. Before starting any development work we will have to make sure the MapStore integration in GeoNode is using the latest MapStore version.

  2. Operations on widgets relies on WPS and if we wanted them to be available as well more investigation should be done.

  3. Internal Dataset
    internal_dataset

  4. External Dataset
    external_dataset

IN CASE THE EXTERNAL SERVER IS NOT GEOSERVER
More investigation is needed

@allyoucanmap
Copy link
Contributor

Just a note: the MapStore catalog is using an action called ADD_LAYER_AND_DESCRIBE while the GeoNode integration is using the ADD_LAYER because the GeoNode integration is relying only on the information returned by the api/v2. Here you can see how the ADD_LAYER_AND_DESCRIBE in MapStore product is sending a DescribeLayer to detect the WFS endpoint. If it is not possible to detect this information during the harvesting of remote resources we could think on a similar approach client side

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants