ngageoint / elasticgeo

ElasticGeo provides a GeoTools data store that allows geospatial features from an Elasticsearch index to be published via OGC services using GeoServer.
GNU General Public License v3.0
168 stars 85 forks source link

POI is shown, but Heatmap is not in Geoserver 2.13 #77

Closed jungfrau70 closed 6 years ago

jungfrau70 commented 6 years ago

Please help me...

The heatmap with GeoHashGrid is not shown without any errors. I guess that the gridStrategy of GeoHashGrid style is not working because it is working with point and native heatmap in Geoserver.

Java 1.8 (Oracle) Elasticsearch 6.2.4 Geoserver 2.13.1 in Tomcat7

I added elasticgeo*.jar to the library folder of Geoserver. Do I need to add additional jars for solving this problem? Or Indexing again with some options?

------------------------------ GeoHashGrid Style --------------------------- <StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

GeoHashGrid GeoHashGrid GeoHashGrid aggregation data gridStrategy Basic pixelsPerCell 1 outputBBOX wms_bbox outputWidth wms_width outputHeight wms_height geom 0.6

----- end -----

sjudeng commented 6 years ago

Hello. Are you including the aggregation in the viewparams parameter in your WMS requests? Note commas need to be escaped with a \ and the body (e.g. {"agg"...}) may need to be URL-encoded.

http://localhost:8080/geoserver/test/wms?service=WMS&version=1.1.0&request=GetMap
     &layers=test:active&styles=geohashgrid&bbox=0.0,0.0,24.0,44.0&srs=EPSG:4326
     &width=418&height=768&format=application/openlayers
     &viewparams=a:{"agg": {"geohash_grid": {"field": "geo"\, "precision": 3}}}

Some of the XML elements in your style snippet are not well formed (e.g. missing < or >) but that's probably just from the cut-and-paste. You can put the XML within backticks to preserve formatting (see https://guides.github.com/features/mastering-markdown/).

```xml
<StyledLayerDescriptor ...
</StyledLayerDescriptor>
jungfrau70 commented 6 years ago

Thank you. It is working

2018년 7월 5일 (목) 오후 11:40, sjudeng notifications@github.com님이 작성:

Hello. Are you including the aggregation in the viewparams parameter in your WMS requests? Note commas need to be escaped with a \ and the body (e.g. {"agg"...}) may need to be URL-encoded.

http://localhost:8080/geoserver/test/wms?service=WMS&version=1.1.0&request=GetMap &layers=test:active&styles=geohashgrid&bbox=0.0,0.0,24.0,44.0&srs=EPSG:4326 &width=418&height=768&format=application/openlayers &viewparams=a:{"agg": {"geohash_grid": {"field": "geo"\, "precision": 3}}}

Some of the XML elements in your style snippet are not well formed (e.g. missing < or >) but that's probably just from the cut-and-paste. You can put the XML within backticks to preserve formatting (see https://guides.github.com/features/mastering-markdown/).

<StyledLayerDescriptor ...
</StyledLayerDescriptor>

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ngageoint/elasticgeo/issues/77#issuecomment-402745149, or mute the thread https://github.com/notifications/unsubscribe-auth/AQdWznwzFAV7Py6M65MpPl04FYHKxagAks5uDiV0gaJpZM4VCTq6 .

sjudeng commented 6 years ago

Are there also no errors on the server (data/logs/geoserver.log)? Does the same query work through WFS?

http://localhost:8080/geoserver/test/ows?service=WFS&version=1.0.0&request=GetFeature
     &typeName=test:active&bbox=0.0,0.0,24.0,44.0
     &viewparams=a:{"agg": {"geohash_grid": {"field": "geo"\, "precision": 3}}}
jungfrau70 commented 6 years ago

It is working, but the geohashgrid heatmap output is different from my expectation. Do you know the way to change it as native heatmap?

Below is the link of geohashgrid heatmap output.

http:///geoserver/elastic/wms?service=WMS&version=1.1.0&request=GetMap&layers=elastic:geohash_grid&styles=geohashgrid&bbox=126.8059258,35.0517903,129.3639127,37.6856513&width=745&height=768&srs=EPSG:4326&format=application/openlayers&viewparams=a:%7B%22agg%22%3A%20%7B%22geohash_grid%22%3A%20%7B%22field%22%3A%20%22geom%22%5C%2C%20%22precision%22%3A%203%7D%7D%7D

sjudeng commented 6 years ago

I'm not able to view the link but the Geohash grid aggregation data is limited to grid-cell counts, which is what's visualized above. GeoServer support for heatmaps is documented here. The heatmap transformation in GeoServer is limited to data received by GeoServer, whereas the Geohash grid aggregation is performed by Elasticsearch and therefore scales better.

jungfrau70 commented 6 years ago

GeoHashGrid is attractive to me because the number of POIs are too many. And so, I'd like to draw native heatmap as shown in Kibana. Kibana could draw it with geohashgrid, I saw, and so it will be supported by Geoserver as well, I thought.

Are there no way to draw native heatmap with geohashgird?

CEO AlphaNet Co., Ltd. Mobile : 82-10-2084-3388 Office : 050-6050-0015 Fax : 050-6050-0016 E-mail : inhwan.jung@gmail.com

2018-07-06 1:07 GMT+09:00 sjudeng notifications@github.com:

I'm not able to view the link but the Geohash grid aggregation data is limited to grid-cell counts, which is what's visualized above. GeoServer support for heatmaps is documented here http://docs.geoserver.org/latest/en/user/styling/sld/extensions/rendering-transform.html#heatmap-generation. The heatmap transformation in GeoServer is limited to data received by GeoServer, whereas the Geohash grid aggregation is performed by Elasticsearch and therefore scales better.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ngageoint/elasticgeo/issues/77#issuecomment-402773712, or mute the thread https://github.com/notifications/unsubscribe-auth/AQdWzukUO8LaUuLu0L_ou5xE7XkM1Tvmks5uDjnbgaJpZM4VCTq6 .

sjudeng commented 6 years ago

Currently the plugin just supports visualizing the Geohash grid cells returned by Elasticsearch. The grid cell sizes can be configured (see grid_size and grid_threshold store parameters) and you can experiment with different grid strategies (e.g. metric, nested) and style settings (<ColorMap>) to improve that visualization for your specific data.