CP-073-01

Choropleth PUN

by SIGC

HTML

<script src="https://sigc.desarrollo.guadaltel.es/mapea5/js/mapea.ol.min.js"></script>
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea5/assets/css/mapea.ol.min.css">
<script src="https://sigc.desarrollo.guadaltel.es/mapea5/js/configuration.js"></script>
<table id="tableStyle">
      <tr>
        <th onclick="ocultarTable('setters')">Setters</th>
      </tr>
      <tr>
        <td id="setters-td" class="display-hidden">
          <button onclick="points_jenks()">Jenks</button>
          <button onclick="points_quantile()">Quantile</button>
          <button onclick="points_quantile2()">QUANTILE (Custom Styles</button>
          <button onclick="points_jenks2()">JENKS (Custom Styles)</button>
          <button onclick="points_setStyles()">set styles</button>
          <button onclick="points_setQuantification()">set quantification</button>
        </td>
      </tr>
      <tr>
        <th onclick="ocultarTable('getters')">Getters</th>
      </tr>
      <tr>
        <td id="getters-td" class="display-hidden">
          <button onclick="getAttributeName()">Get attribute name </button>
          <button onclick="getStyles()">Get Styles</button>
          <button onclick="getQuantification()">Get quantification</button>
          <button onclick="getValues()">Get values</button>
        </td>
      </tr>
      <tr>
        <th onclick="ocultarTable('constructor')">Constructores</th>
      </tr>
      <tr>
        <td id="constructor-td" class="display-hidden">
          <button onclick="option1()">Atributo + estilos null + cuantificador null</button>
          <button onclick="option2()">Atributo + estilos null + cuantificador JENKS 3</button>
          <button onclick="option3()">Atributo + array estilos + cuantificador null</button><br>
          <button onclick="option4()">Atributo + array estilos + cuantificador JENKS 3</button>
          <button onclick="option5()">Atributo + estilos null + cuantificador JENKS 3</button>
          <button...

CSS

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;
      }

JavaScript

let mapajs = M.map({
  container: "map",
  projection: "EPSG:4326*m",
  layers: ["OSM"],
  center: [-6.39404296875,
        36.99377838872517
      ],
  zoom: 5,
  controls: ['layerswitcher', 'overviewmap'],
});

mapajs.addPlugin(new M.plugin.Printer({
  "params": {
    "pages": {
      "clientLogo": "http://www.juntadeandalucia.es/economiayhacienda/images/plantilla/logo_cabecera.gif",
      "creditos": "Impresión generada a través de Mapea"
    },
    "layout": {
      "outputFilename": "mapea_${yyyy-MM-dd_hhmmss}"
    }
  }
}, {
  "options": {
    "legend": "true"
  }
}));

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

mapajs.addLayers(points);
let jenks = M.style.quantification.JENKS;
let quantile = M.style.quantification.QUANTILE;

function points_jenks() {
  let choropleth = new M.style.Choropleth("nregin", null, jenks(numClass()));
  points.setStyle(choropleth);
}

function points_quantile() {
  let choropleth = new M.style.Choropleth("nregin", null, quantile(numClass()));
  points.setStyle(choropleth);
}

function points_jenks2() {
  let stylesPoint = [
        new M.style.Point({
      fill: {
        color: '33BBFF'
      },
      radius: 5
    }),
        new M.style.Point({
      fill: {
        color: '#FF0099'
      },
      radius: 6
    }),
        new M.style.Point({
      fill: {
        color: '#00AAAA'
      },
      radius: 7
    })
      ];
  let choropleth = new M.style.Choropleth("nregin", stylesPoint, M.style.quantification.JENKS()); //M.style.quantification.JENKS() --> f(d, l = 6) --> f(d, 2)
  points.setStyle(choropleth);
}

function points_quantile2() {
  let stylesPoint = [
        new M.style.Point({
      fill: {
        color: '33BBFF'
      },
      radius: 5
    }),
        new M.style.Point({
      fill: {
        color: '#FF0099'
      },
     ...