Skip to main content

I have been using this example:

https://knowledge.safe.com/articles/1117/data-distribution-with-web-maps.html

and building my own verison using our own data. I have been asked if it can stream the data to the web map once the button has been ticked for a certain dataset so the user can see the data before they request it.

I.E. in the example above, once you have drawn your polygon, you click on BusRoutes and the bus routes inside of the polygon would then draw up on screen so the user can see what they are about to download.

Can this be done?

@aaronkoning @LauraAtSafe

I think there are several possible solutions to this, but one way could be to serve the data as WFS or WMS. FME Server isn't really ideal for high volumes of these requests, but the occasional preview could work alright if your data access is relatively fast. Just remember that whatever you need to serve back to your web GUI will need an available engine.

If your data is relatively static (or your data is already in PostGIS or another natively supported format) you could also consider serving your preview through a dedicated WMS server like e.g. Geoserver or Mapserver.


I think there are several possible solutions to this, but one way could be to serve the data as WFS or WMS. FME Server isn't really ideal for high volumes of these requests, but the occasional preview could work alright if your data access is relatively fast. Just remember that whatever you need to serve back to your web GUI will need an available engine.

If your data is relatively static (or your data is already in PostGIS or another natively supported format) you could also consider serving your preview through a dedicated WMS server like e.g. Geoserver or Mapserver.

We do already use Geoserver for other things so i could look into this. Thanks.

 

 


My first thought was websockets. I'm just not sure how much data it can handle at a time. I'm out of the office this week, so if you don't hear from Aaron or Laura here, please do contact them directly.

 


My first thought was websockets. I'm just not sure how much data it can handle at a time. I'm out of the office this week, so if you don't hear from Aaron or Laura here, please do contact them directly.

 

Thanks Mark

 

 


A possible option would be to have a 'preview' button that called a separate process that rasterized the data at a low-ish resolution and wrote it to say JPG, that way the process could be registered with the Streaming service and the JPG could be streamed into a new browser tab. This may be enough to provide a picture of what the user has selected and allow them to adjust their clip boundary if necessary. Of course, you'd need to address the lack of a background map by perhaps burning in a very simple base map for context, maybe even very greyed out.


A possible option would be to have a 'preview' button that called a separate process that rasterized the data at a low-ish resolution and wrote it to say JPG, that way the process could be registered with the Streaming service and the JPG could be streamed into a new browser tab. This may be enough to provide a picture of what the user has selected and allow them to adjust their clip boundary if necessary. Of course, you'd need to address the lack of a background map by perhaps burning in a very simple base map for context, maybe even very greyed out.

Thanks Dave, that is def something for me to think about. Totally diff angle to where my head was at but worth a try.

 

 


I think there are several possible solutions to this, but one way could be to serve the data as WFS or WMS. FME Server isn't really ideal for high volumes of these requests, but the occasional preview could work alright if your data access is relatively fast. Just remember that whatever you need to serve back to your web GUI will need an available engine.

If your data is relatively static (or your data is already in PostGIS or another natively supported format) you could also consider serving your preview through a dedicated WMS server like e.g. Geoserver or Mapserver.

@baznewman07 My idea:

 

There is a "me.PolyListener = .." listener in www\\js\\google\\polygoncontrol.js which listens to 'polygoncomplete'. You can use this to build up a wms URL request, ajax download it in the background (which is actually an image) and insert the downloaded image into an overview container.

 

The tricky part is the ajax request if GeoServer is on another server but altogether it involves not too much coding.

 


@baznewman07 My idea:

 

There is a "me.PolyListener = .." listener in www\\js\\google\\polygoncontrol.js which listens to 'polygoncomplete'. You can use this to build up a wms URL request, ajax download it in the background (which is actually an image) and insert the downloaded image into an overview container.

 

The tricky part is the ajax request if GeoServer is on another server but altogether it involves not too much coding.

 

Another good suggestion to think about, thanks.

 

 


Reply