CP-075-01 - Proportional PUN - SIM PUN PROPORTIONAL

Simbología proporcional sobre capa de puntos. El test permite interactuar con las opciones de la simbología proporcional.

by SIGC

HTML

<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/geosearchbylocation/geosearchbylocation.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/assets/css/mapea.ol.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/wfstcontrols/wfstcontrols.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/geosearch/geosearch.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/printer/printer.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/measurebar/measurebar.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/streetview/streetview.min.css">
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/vendor/browser-polyfill.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/js/mapea.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/js/configuration.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/geosearchbylocation/geosearchbylocation.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/wfstcontrols/wfstcontrols.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/geosearch/geosearch.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/printer/printer.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/measurebar/measurebar.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/attributetable/attributetable.ol.min.js"></script>
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/attributetable/attributetable.min.css">
<div class="row">
      <table id='tableStyle'>
       ...

CSS

<style rel="stylesheet">
      html,
      body {
        margin: 0;
        padding: 0;
        height: 100%;
        overflow: auto;
      }

      #tableStyle {
        font-family: arial, sans-serif;
        border-collapse: collapse;
        width: 100%;
      }

      table#tableStyle td {
        border: 1px solid #dddddd;
        text-align: left;
        padding: 8px;
      }

      table#tableStyle th {
        border: 1px solid #dddddd;
        text-align: left;
        padding: 8px;
      }

      table#tableStyle tr:nth-child(even) {
        background-color: #dddddd;
      }

      input-group {
        margin: 20%;
      }

      .display-hidden {
        display: none;
      }

      .input-group {
        margin-bottom: 1em;
      }

      button,
      input {
        display: block;
      }
    </style>

JavaScript

// CP-075-01 - Proportional PUN - SIM PUN PROPORTIONAL
// ==========================================================================
// =============== Test styleproportional con capa servida ==================
// ==========================================================================
function ocultarTable(elementToManage) {
  let element = document.getElementById(elementToManage + "-td");
  if (element.classList.contains("display-hidden")) {
    element.classList.remove("display-hidden")
  }
  else {
    element.classList.add("display-hidden")
  }
}
let mapajs = M.map({
  container: "map",
  projection: "EPSG:4326*m",
  layers: ["OSM"],
  center: [
    -6.39404296875,
    36.99377838872517
  ],
  zoom: 5,
  controls: ['layerswitcher', 'overviewmap'],
});

let centrosSubtipo = new M.layer.WFS({
  name: "Centros ASSDA - Subtipos",
  url: "https://clientes.guadaltel.es/desarrollo/geossigc/wfs?",
  namespace: "mapea",
  name: "centrosassda_subtipo",
  legend: "centrosassda_subtipo",
  geometry: 'POINT',
});

mapajs.addLayers([centrosSubtipo]);

let proportional = new M.style.Proportional('nregin');
let proportional2 = new M.style.Proportional('nregin', 8, 17);
let proportional3 = new M.style.Proportional('nregin', 6, 20, new M.style.Point({
  fill: {
    color: 'black'
  },
  stroke: {
    color: 'white',
    width: 2
  }
}));
let proportional4 = new M.style.Proportional('nregin', 5, 15, new M.style.Point({
  icon: {
    src: 'https://cdn3.iconfinder.com/data/icons/free-icons-3/128/cat_6.png',
    rotation: 0.5,
    scale: 0.5,
    opacity: 0.8,
    anchor: [0.5, 1.9],
    rotate: false,
    snaptopixel: true,
  }
}));
let proportional5 = new M.style.Proportional('nregin', 5, 20, new M.style.Point({
  icon: {
    form: M.style.form.LOZENGE,
    gradient: true,
    fontsize: 0.8,
    radius: 20,
    rotation: 0.2,
    rotate: false,
    offset: [20, 30],
    color: 'blue',
    fill: '#8A0829',
    gradientcolor: '#088A85'
  }
}));

function get(func) {
  let style...