Масштабный эффект для heatmap (YSLD)

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
regrunger
Новоприбывший
Сообщения: 7
Зарегистрирован: 17 сен 2016, 11:57
Репутация: 0

Масштабный эффект для heatmap (YSLD)

Сообщение regrunger » 02 мар 2017, 17:50

Суть проблемы в следующем: не получается ограничить визуализацию тепловой карты при помощи ysld. Предполагается, что на одном из масштабов данные в виде тепловой карты переходят к кластерам, но на деле масштабный эффект срабатывает только для точек (кластеров), а тепловая карта накладывается на них.
Вопрос: возможно ли в принципе ограничить масштаб для тепловой карты на geoserver?
Вложения
Selection_009.png
пример такого наложения
Selection_009.png (161.2 КБ) 548 просмотров

regrunger
Новоприбывший
Сообщения: 7
Зарегистрирован: 17 сен 2016, 11:57
Репутация: 0

Re: Масштабный эффект для heatmap (YSLD)

Сообщение regrunger » 03 мар 2017, 16:09

Ниже прикрепил код для этого стиля. Видно, что параметр "зум" задан для каждого класса стиля, в том числе и для тепловой карты.

Код: Выделить всё

name: Default Styler
title: Stacked Point
abstract: Styles lamps using stacked points
          
feature-styles:

- name: 1st_level
  transform:
    name: vec:PointStacker
    params:
      cellSize: 10
  rules:
  - name: Single_Lamp
    zoom: [17, 18]
    title: SingleLamp
    filter: count = '1'
    symbolizers:
    - point:
        symbols:
        - external:
            url: 'http://dictionary/icons/49/view'
            format: image/png
        size: 32
  - name: ManyLamps
    zoom: [17, 18]
    title: Many_lamps
    filter: count BETWEEN '2' AND '100000'
    symbolizers:
    - point:
        symbols:
        - external:
            url: 'http://dictionary/icons/49/view'
            format: image/png
        size: 32
    - text:
        label: ${count}
        fill-color: '#ffffff'
        font-family: Dialog
        font-size: 16
        font-style: normal
        font-weight: bold
        placement: point
        anchor: [-0.3,-0.5]
        halo:
          radius: 5
          fill-color: '#00a0e5'
          fill-opacity: 0.9

- name: 2nd_level
  transform:
    name: vec:PointStacker
    params:
      cellSize: 5
  rules:
  - name: ManyLamps2
    zoom: [13, 16]
    title: Many_lamps
    filter: count BETWEEN '1' AND '100000'
    symbolizers:
    - point:
        symbols:
        - mark:
            shape: circle
            fill-color: '#ffffff'
        size: 6
  - name: ManyLamps2
    zoom: [13, 16]
    title: Many_lamps
    filter: count BETWEEN '1' AND '100000'
    symbolizers:
    - point:
        symbols:
        - mark:
            shape: circle
            fill-color: '#09a8f2'
        size: 5
- name: 3rd_level
  transform:
    name: vec:Heatmap
    params:
      radiusPixels: 35
      pixelsPerCell: 5
  rules:
  - name: ManyLamps3
    zoom: [min, 12]
  - symbolizers:
    - raster:
        opacity: 0.7
        color-map:
          type: ramp
          entries:
          - ['#FFFFFF',0,0.0,'nodata']
          - ['#909ba0',1,0.4,'values']
          - ['#79c6ea',1,0.6,'values']
          - ['#09a8f2',1,1,'values']

Ответить

Вернуться в «Веб-картография»