[Geoserver-users] Tiled Heatmaps with IDW interpolation

Hi list!

After a long research on how to effectively create heatmaps, and after trying many client-side solutions (Leaflet.heat, Heatmap.js, OpenLayers), I’ve found GeoServer and it looks like it’s the tool I need.

I’ll be using Leaflet.js at the client-side, to serve the map layers.

What I need to do is create a heatmap that somewhat looks and behaves like this one:

https://www.walkscore.com/apartments/search/CA/Santa_Monica

This one, from walkscore, is generated on the server and served as tiles. You can see an example of one of the heatmap tiles at the URL below:

https://pp.walk.sc/map_tiles/walkscore/v3/17/2807/6547/14.png

The data I have is potentially tens of thousands of points representing buildings in a city. The heatmap should be value-based, based off the rental value of the buildings. Higher priced, hotter.

The problem with client-side solutions is that it looks like they assume density of points, only. For instance, this example:

http://pacific-inlet-5306.herokuapp.com/

If you zoom in, you’ll see the heatmap aspect changes, the points start to show. If you zoom out, it will change until it basically becomes a circle. I don’t want that (that doesn’t happen in the walkscore example above).

So my questions are:

  1. Does GeoServer supports generating a heatmap akin to the one from walkscore above?
  2. Does it support using IDW*[0] interpolation to fill in the gaps between the points?
  3. Does it support serving the heatmap as tiles?

Thanks in advance!

Ops, forgot to add the footnote *[0] for IDW:

···

On Wed, Jul 22, 2015 at 1:33 PM, Marcelo de Moraes Serpa <celoserpa@anonymised.com84…> wrote:

Hi list!

After a long research on how to effectively create heatmaps, and after trying many client-side solutions (Leaflet.heat, Heatmap.js, OpenLayers), I’ve found GeoServer and it looks like it’s the tool I need.

I’ll be using Leaflet.js at the client-side, to serve the map layers.

What I need to do is create a heatmap that somewhat looks and behaves like this one:

https://www.walkscore.com/apartments/search/CA/Santa_Monica

This one, from walkscore, is generated on the server and served as tiles. You can see an example of one of the heatmap tiles at the URL below:

https://pp.walk.sc/map_tiles/walkscore/v3/17/2807/6547/14.png

The data I have is potentially tens of thousands of points representing buildings in a city. The heatmap should be value-based, based off the rental value of the buildings. Higher priced, hotter.

The problem with client-side solutions is that it looks like they assume density of points, only. For instance, this example:

http://pacific-inlet-5306.herokuapp.com/

If you zoom in, you’ll see the heatmap aspect changes, the points start to show. If you zoom out, it will change until it basically becomes a circle. I don’t want that (that doesn’t happen in the walkscore example above).

So my questions are:

  1. Does GeoServer supports generating a heatmap akin to the one from walkscore above?
  2. Does it support using IDW*[0] interpolation to fill in the gaps between the points?
  3. Does it support serving the heatmap as tiles?

Thanks in advance!

I would like to filter a WMS layer by a date range. For example, I have a layer with the property "date"
(stored as a Date type). I would like to add a URL parameter to the WMS such as cql_filter=date>2015-07-01T00:00:00.000Z.

I am having a difficult time getting this to work and an unable to find any working examples.

The CQL tutorial, http://docs.geoserver.org/stable/en/user/tutorials/cql/cql_tutorial.html, does not contain a date example.

It looks like there is a Timestamp filter function but I am not sure how to use it.

Does any one have a working CQL date range example?

Thanks,

Nathan

Maybe my question was too broad.

I figured that what I really need to know is what kind of heatmap is this one:

https://www.walkscore.com/apartments/search/CA/Santa_Monica

Screenshot: https://www.dropbox.com/s/9gs0ccqf6p9fywn/Screenshot%202015-07-22%2022.26.33.png?dl=0

Is this a cloropleth or a heatmap? I’d love to emulate this style with geosever. Does anyone with more experience than I have put in me in the right direction?

Thanks!

···

On Wed, Jul 22, 2015 at 1:34 PM, Marcelo de Moraes Serpa <celoserpa@anonymised.com> wrote:

Ops, forgot to add the footnote *[0] for IDW:

On Wed, Jul 22, 2015 at 1:33 PM, Marcelo de Moraes Serpa <celoserpa@anonymised.com.84…> wrote:

Hi list!

After a long research on how to effectively create heatmaps, and after trying many client-side solutions (Leaflet.heat, Heatmap.js, OpenLayers), I’ve found GeoServer and it looks like it’s the tool I need.

I’ll be using Leaflet.js at the client-side, to serve the map layers.

What I need to do is create a heatmap that somewhat looks and behaves like this one:

https://www.walkscore.com/apartments/search/CA/Santa_Monica

This one, from walkscore, is generated on the server and served as tiles. You can see an example of one of the heatmap tiles at the URL below:

https://pp.walk.sc/map_tiles/walkscore/v3/17/2807/6547/14.png

The data I have is potentially tens of thousands of points representing buildings in a city. The heatmap should be value-based, based off the rental value of the buildings. Higher priced, hotter.

The problem with client-side solutions is that it looks like they assume density of points, only. For instance, this example:

http://pacific-inlet-5306.herokuapp.com/

If you zoom in, you’ll see the heatmap aspect changes, the points start to show. If you zoom out, it will change until it basically becomes a circle. I don’t want that (that doesn’t happen in the walkscore example above).

So my questions are:

  1. Does GeoServer supports generating a heatmap akin to the one from walkscore above?
  2. Does it support using IDW*[0] interpolation to fill in the gaps between the points?
  3. Does it support serving the heatmap as tiles?

Thanks in advance!