Exemples de codi

Exemples de codi opensource que utilitzen l'API de dades obertes perparats per ser reutilitzats.

Taula de continguts

Ionic: app Diba+Municipis

Exemple d'ús de l'API amb l'app Diba+Municipis, desenvolupada amb el framework per desenvolupar apps multiplataforma Ionic, per a Android, iOS i Windows Phone.

GitHub: Diba+municipis

Javascript: llista de restaurants dins d'un parc natural

L'API REST de dades obertes de la Diputació de Barcelona treballa de forma nativa amb format JSON i suporta tècniques com el JSONP, de manera que permet recuperar les dades de forma asíncrona. Per exemple, podem recuperar una llista de tots els restaurants que es troben a dins d'un parc natural:

Exemple simple amb JavaScript (jQuery) utilitzant JSON:

<html>
<head>
  <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
</head>
<body>
<script>
(function() {
  let callAPI = "https://do.diba.cat/api/dataset/parcsequipaments_ca/camp-categoria/restaurant";
  $.getJSON(callAPI)
    .done(function(data) {
      $.each(data.elements, function(i, element) {
        $("#restaurants").append("<li>" + element.adreca_nom + "</li>");
      });
    });
})();
</script>
<ul id="restaurants"></ul>
</body>
</html>
O podem recuperar les dades amb una crida JSONP simplement canviant la crida per:
let callAPI = "http://do.diba.cat/api/dataset/parcsequipaments_ca/camp-categoria/restaurant?callback=?";
Contingut relacionat: 

PHP: Percentatge d'homes i de dones en els càrrecs electes dels municipis

L'API REST de dades obertes de la Diputació de Barcelona permet recuperar, filtrar, relacionar i agregar dades de tot tipus. Per exemple, podem utilitzar-la per consultar el nivell de paritat en els càrrecs electes dels municipis de la demarcació de Barcelona.

Exemple simple amb PHP:

<?php
// Demanem el recompte de càrrecs electes per sexe i municipi:
$api_call = 'http://do.diba.cat/api/dataset/electes/agrega/codi_ine_persona/agrega/sexe';
$agregats = json_decode(file_get_contents($api_call), TRUE);
$mun = [];
foreach (
$agregats['elements'] AS $agregat) {
 
$mun[$agregat['data.codi_ine_persona']][$agregat['data.sexe']] = $agregat['count'];
}

// Recuperem la llista de municipis:
$api_call ='http://do.diba.cat/api/dataset/municipis';
$municipis = json_decode(file_get_contents($api_call), TRUE);

// Mostrem la informació i calculem els percentatges:
print "<h1>Percentatge d'homes i de dones per municipi</h1>";
print
'<ul>';
foreach (
$municipis['elements'] AS $municipi) {
 
$homes = isset($mun[$municipi['ine']]['H']) ? $mun[$municipi['ine']]['H'] : 0;
 
$dones = isset($mun[$municipi['ine']]['D']) ? $mun[$municipi['ine']]['D'] : 0;
 
$total = $homes + $dones;

  print
'<li>' . $municipi['municipi_nom'] . ':';
  print
' Homes: ' . $homes . ' (' . round($homes*100/$total) . '%)';
  print
' Dones: ' . $dones . ' (' . round($dones*100/$total) . '%)</li>';
}
print
'</ul>';
?>
Contingut relacionat: