Le marché de l’immobilier de bureaux à Nantes Métropole, de 2007 à 2015

onita2015

Cette carte présente l’évolution des surfaces transactées sur le marché de l’immobilier tertiaire à Nantes Métropole, depuis 2007.
Chaque opération a été localisée sur la carte, et présente la surface transactée (en m2), l’état des bureaux (neuf ou seconde main) et la nature de la transaction (vente ou location).

Application accessible ici

Appli web développeé avec leaflet et inspirée de ce template  » leaflet timeline » disponible sur github ici. Pour rajouter des graphiques je vous renvoie vers les appi Google chart

Voici un exemple d’intégration

<script type="text/javascript">
  function drawVisualization() {
    //Raw data
    var data = google.visualization.arrayToDataTable([
      ['Années', 'Bureau de seconde main', 'Bureaux neufs',  'Bureaux neufs (Comptes propres et clé en main)'],
      ['2007',  39333,          48511,           0],
     ----
    ]);

    var options = {
      title : 'Transactions neuves et de seconde main de 2007 à 2015 en milliers en m²',
      vAxis: {title: "Surface"},
      //legend: { position: "bottom" },
      //Horizontal axis text vertical
      hAxis: {title: "Années", slantedText:false, slantedTextAngle:10},
      seriesType: "bars",
      //series: {4: {type: "line"}},
      isStacked: true,
       colors:['#3DC2D5','#EC3858','#E83043','#C62939'],
      backgroundColor: { fill:'transparent' },
      fontSize: 10,
    legend: {
    position: 'none',
    alignment: 'start',
    textStyle: {
     color: 'black',
     fontName: 'times',
     fontSize: 10
    } },
   tooltip: {
    isHtml: true,
    showColorCode: true,
    isStacked: true
   }
    };

   // var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
     var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));

    
    chart.draw(data, options);
  }
  google.setOnLoadCallback(drawVisualization);
</script>

 

Publicités

#pgRouting : Schéma Directeur d’Accessibilité voirie et espace public de Nantes Métropole (SDA)

1.      Cadre de la demande

La politique menée par Nantes Métropole en faveur de l’accessibilité depuis de nombreuses années.  La volonté d’aller au-delà du cadre réglementaire dans la construction d’un territoire accessible pour toutes et tous) en favorisant au maximum la continuité de la chaine de déplacement.  La réalisation d’un document cadre stratégique issu de l’expertise urbaine et de la concertation des usagers, permettant d’objectiver les décisions. La constitution, à terme, d’un SIG accessibilité, guide pour les futurs travaux d’aménagements de la Métropole.

2.      Objectifs

Identifier les itinéraires susceptibles d’être utilisés de façon prioritaire par des personnes à mobilité réduite (et de manière générale par les piétons) à travers la ville, du domicile au lieu de travail, d’achat, de loisirs, …Définir le volume des cheminements à diagnostiquer sur le Territoire de Nantes Métropole (analyse du niveau d’accessibilité des itinéraires identifiés comme prioritaires)Aider à la priorisation de la mise en accessibilité des arrêts TC prévue dans le cadre de la Stratégie du SDAp’TC 2015-2020.

3.      Méthodologie

Application avec pgRouting

Cheminements sur voirie, de moins de 300 mètres, reliant les Etablissements Recevant du Public (ERP) aux stationnements réservés aux personnes à mobilité réduite ou aux arrêts de transport en commun les plus proches, ainsi que l’intégralité des Plans d’Accessibilité de la Voirie et de l’Espace Public (PAVE) élaborés par les communes

Schéma directeur d'Accessibilité de Nantes Métropole (SDA).png

Pour en savoir plus l’étude est accessible ici

Rapport dynamique: Liste des attributs d’une table dans #Postgre

Disposant d’une base de données GeoNework , je me suis interrogé sur comment intégrer la liste des attributs  d’une table dans  sa fiche de métadonnées. Et surtout comment les visualiser d’une manière dynamique.  Alors j’ai regardé du coté  PGAdmin, et oui on peut générer directement un rapport en html. Mais comment le rendre dynamique?

D’abord après de fructueuses recherches voici la requête qui me permet d’afficher pour une table donnée:  les attributs, les types, le nom de la table, les commentaires, s’il est rempli ou pas par défaut, la clef primaire…

Voici un exemple avec la table bâtiment dans le schéma majic (données foncières)


 SELECT a.attnum as numero,
 a.attrelid::regclass as table
 ,a.attname AS attribut
 ,format_type(a.atttypid, a.atttypmod) AS type
 ,a.attnotnull AS notnull
 ,coalesce(p.indisprimary, FALSE) AS primary_key
 ,f.adsrc AS default_val
 ,d.description AS commenatire
 FROM pg_attribute a
 LEFT JOIN pg_index p ON p.indrelid = a.attrelid AND a.attnum = ANY(p.indkey)
 LEFT JOIN pg_description d ON d.objoid = a.attrelid AND d.objsubid = a.attnum
 LEFT JOIN pg_attrdef f ON f.adrelid = a.attrelid AND f.adnum = a.attnum
 WHERE a.attnum > 0
 AND NOT a.attisdropped
 AND a.attrelid = 'majic_2014.d44_2014_batiment'::regclass -- A adapter
 ORDER BY a.attnum;
 

Voici le résultat:

majic.png

Et avec le rapport de pgAdmin(fichier/rapport rapide) ça donne ça:

rapport pgadmin.png

 

Alors tout ça c’est magique. Mais comment le rendre dynamique pour éviter de générer des milliers de pages tml? Je suis donc passé par du php pour transmettre des données par url.

Par exemple,  vous voulez afficher les attributs de la table « majic_2014.d44_2014_lotslocaux »   voici l’url à transmettre dans GeoNework :

http://localhost/developpement/rapport/rapport.php?table=majic_2014.d44_2014_lotslocaux
Vous remarquerez que la variable "table" permet de récupérer les attributs de la table que vous voulez afficher

Voici le résultat dans GeoNework :metadonnees.png

Voici le résultat :

rapport postgresql.png

Vous trouverez le code ici :

Évidemment vous pouvez également l’utiliser pour générer directement d’autres requêtes.

Pour plus de détails concernant la transmissions de variables ici

 

 

 

pgRouting: Méthodes de création d’isochrones

En cartographie, une courbe isochrone est une courbe géométrique délimitant les points accessibles par un véhicule – terrestre ou aérien – en un temps donné (par exemple, la zone pouvant être desservie en moins de 30 minutes par un livreur de pizza ou un dépanneur de matériel informatique).

Pour comparer, voici des exemples d’isochrones avec différents algorithmes de Postgis/pgRouting

isochrones

 

 

Configuration Geonetwork 3 / PostgreSQL/Postgis

Voici la solution après une journée perdue dans les méandres du web pour chercher une solution pour connecter notre base de données avec géonetwork.

1- Installer Tomcat à partir de ce lien http://tomcat.apache.org/

2-Télécharger le war de Geonetwork 3 ici: http://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v3.0.2/ et déposer le dans le webapps de Tomcat

3-Télécharger et installer postgreSQL

4- Creer une base de donnée geonetwork et les extension postgis et postgis_topology. Créer également un utilisateur geonetwork comme administrateur de la base geonetwork.

CREATE DATABASE bdu
WITH OWNER = postgres
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'French_France.1252'
LC_CTYPE = 'French_France.1252'
CONNECTION LIMIT = -1;

CREATE extension postgis;

CREATE extension postgis_topology;

CREATE ROLE geonetwork LOGIN
ENCRYPTED PASSWORD ‘md5e9417e7b22d88b6d6800245b671324f3’
SUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION;

3-Configuration de tomcat:
Modifier le fichier webapps/geonetwork/WEB-INF/config-node/srv.xml pour utiliser la base de données postgres et non h2 pour cela décommenter cette ligne

<import resource= »../config-db/postgres.xml »/>

Puis modifier le fichier sudo vi /var/lib/tomcat7/webapps/geonetwork/WEB-INF/config-db/postgres.xml comme ce ci :

 

<?xml version="1.0" encoding="UTF-8"?>

<beans default-lazy-init="true"

xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

">

<import resource="defaultJdbcDataSource.xml" />

<import resource="postgis-alternate-datasource.xml" />

<bean id="jpaVendorAdapterDatabaseParam" class="java.lang.String">

<constructor-arg value="POSTGRESQL"/>

</bean>

<bean id="jdbcDriverClassName" class="java.lang.String">

<constructor-arg value="org.postgis.DriverWrapper"/>

</bean>

<bean id="jdbcURL" class="java.lang.String">

<constructor-arg value="jdbc:postgresql_postGIS://${jdbc.host}:5432/${jdbc.database}"/>

</bean>

</beans>

Et en fin modifier le fichier de propriété webapps/geonetwork/WEB-INF/config-db/jdbc.propertie

jdbc.username=admin
jdbc.password=admin
jdbc.database=geonetwork
jdbc.host=localhost
jdbc.port=5432

4- Redémarrer tomcat