wiki:Territoria

Territoria

Territoria est à la fois :

  • une base de données hiérarchique des territoires, construite à partir de différentes sources publiques.
  • un ensemble d'outils permettant de mettre à jour, exporter et manipuler cette base de données
  • une application web? permettant de se déplacer dans la hiérarchie des territoires et de la visualiser

Actuellement la base Territoria contient les collectivités territoriales suivantes :

  • régions
  • départements
  • arrondissements départementaux
  • cantons
  • parcs naturels régionaux
  • pays (de France)
  • intercommunalités (ie EPCI)
  • communes
  • arrondissements communaux
  • communes rattachées

ainsi que diverses informations sur les communes :

  • code postal
  • population
  • aire urbaine
  • périmètre de transports urbains
  • littoral
  • massif montagneux

Territoria est en développement depuis le 25 décembre 2008.

Objectifs

Territoria est surtout conçue comme un composant destiné à être intégré dans d'autres applications (Cosmetic, Metanol, etc).

La structure de la base Territoria est suffisamment générique pour pouvoir être étendue à d'autres pays que la France ou à d'autres informations sur les territoires.

Licence et copyright

L'application Territoria est un logiciel libre sous licence GNU Affero General Public License version 3 ou supérieure.

La base de données Territoria est sous licence Creative Commons paternité partage à l’identique.

Copyright © 2008, 2009 Easter-eggs & Emmanuel Raviart

Technique

Territoria utilise les outils suivants :

Territoria a été testée sur les bases de données : PostgreSQL et SQLite.

Pour connaître la liste précise des dépendances, ainsi que les versions nécessaires, consulter le fichier setup.py (variable install_requires notamment).

Téléchargement

Téléchargement de l'application

Vous pouvez récupérer les sources de la dernière version :

Téléchargement de la base de données

Vous pouvez récupérer un dump SQL de la base de données généré à partir de SQLite :

Note : Nous ne fournissons pas actuellement de dump PostgreSQL de Territoria. Si vous souhaitez utiliser Territoria avec PostgreSQL (par exemple pour Comarquage ou Cosmetic), vous devez construire la base SQL à partir des données. Cf ci-dessous.

Téléchargement des données permettant la constitution initiale de la base de données

Ces données se présentent sous formes de fichiers textes (CSV) provenant de différentes sources (cf ci-dessous).

Ces fichiers peuvent-être utilisés pour le remplissage initial de la base de données, lorsqu'on souhaite la reconstruire à partir de zéro.

Vous pouvez les récupérer :

Installation et configuration

Installation et configuration de l'application

cd territoria
sudo python setup.py install
cd ..

Modifier le fichier de configuration development.ini en fonction de votre choix de base de données. Pour utiliser SQLite, s'assurer que les lignes suivantes y figurent :

[Territoria]
sqlalchemy.url = sqlite:///chemin/de/la/future/base/territoria.db

Note : Dans la dernière ligne ci-dessus, sqlite: doit être suivi de 3 / si le chemin vers le fichier est relatif ou de 4 / s'il est absolu.

Création et initialisation de la base de données

La base de données des territoires peut être créée :

  • soit à partir d'un dump existant,
  • soit en important l'ensemble des fichiers sources ayant servi à la constituer.

Ces 2 méthodes sont détaillées ci-dessous.

Création de la base à partir d'un dump existant

Après avoir téléchargé le dump SQL de la base de données territoria-database-sqlite (cf ci-dessus), faire :

cd territoria-database-sqlite
export TERRITORIA_DUMP=`pwd`
cd -

Puis, créer la base de données SQLite à partir du dump SQL.

cd territoria
sqlite3 -init ${TERRITORIA_DUMP}/territoria.sql development.db
.quit

Création de la base en important l'ensemble des fichiers sources ayant servi à la constituer

Après avoir téléchargé les données territoria-source-data (cf ci-dessus), faire :

cd territoria-source-data
export TERRITORIA_SOURCE_DATA=`pwd`
cd -

Puis, créer la base de données :

cd territoria
territoria/scripts/create_database.py development.ini

À partir de maintenant, on peut soit importer la totalité des données, soit importer les données manuellement une par une.

Import total :

territoria/scripts/populate_database.sh development.ini ${TERRITORIA_SOURCE_DATA}

Import manuel : exécuter les étapes suivantes.

Initialisation des territoires de base :

territoria/scripts/init_database.py development.ini

Importation des données territoriales provenant de l'INSEE (communes, cantons, arrondissements, départements et régions) :

territoria/scripts/import_insee_code_officiel_geographique.py development.ini ${TERRITORIA_SOURCE_DATA}/insee/code-officiel-geographique/

Importation des données de l'INSEE sur la population des communes :

territoria/scripts/import_insee_population.py development.ini ${TERRITORIA_SOURCE_DATA}/insee/population-et-logements-par-commune/

Importation des données territoriales provenant de l'Observatoire des territoires (aires urbaines, intercommunalités, communes littorales, communes de massifs montagneux, pays, parcs naturels régionaux et périmètres de transports urbains) :

territoria/scripts/import_observatoire_des_territoires_aires_urbaines.py development.ini ${TERRITORIA_SOURCE_DATA}/observatoire-des-territoires/data_aire_urbaine.csv
territoria/scripts/import_observatoire_des_territoires_epci.py development.ini ${TERRITORIA_SOURCE_DATA}/observatoire-des-territoires/data_epci.csv
territoria/scripts/import_observatoire_des_territoires_littoraux.py development.ini ${TERRITORIA_SOURCE_DATA}/observatoire-des-territoires/data_loi_littoral.csv
territoria/scripts/import_observatoire_des_territoires_massifs.py development.ini ${TERRITORIA_SOURCE_DATA}/observatoire-des-territoires/data_perimetre_massif.csv
territoria/scripts/import_observatoire_des_territoires_pays.py development.ini ${TERRITORIA_SOURCE_DATA}/observatoire-des-territoires/data_pays.csv
territoria/scripts/import_observatoire_des_territoires_parcs_naturels_regionaux.py development.ini ${TERRITORIA_SOURCE_DATA}/observatoire-des-territoires/data_pnr.csv
territoria/scripts/import_observatoire_des_territoires_perimetres_transports_urbains.py development.ini ${TERRITORIA_SOURCE_DATA}/observatoire-des-territoires/data_ptu.csv

Calcul de la population cumulée des différents territoires français à partir de la population des communes :

territoria/scripts/compute_aggregated_population.py development.ini

Importation du fichier des codes postaux provenant de Jérôme Galichon :

territoria/scripts/import_galichon_codes_postaux.py development.ini ${TERRITORIA_SOURCE_DATA}/galichon/codes-postaux/insee.csv

Génération de la table des collectivités françaises (utilisée pour accélérer certaines recherches) :

territoria/scripts/generate_french_collectivities_associations.py development.ini

Importation des données d'OpenStreetMap sur les communes (population, coordonnées et rectangle englobant (bounding box)) :

wget http://hexagone.openstreetmap.fr/hexagone-latest.osm.bz2
bunzip2 hexagone-latest.osm.bz2
territoria/scripts/import_openstreetmap_towns.py development.ini hexagone-latest.osm YYYY-MM-DD
territoria/scripts/extract_openstreetmap_town_boundaries.py development.ini hexagone-latest.osm boundaries.dat
territoria/scripts/import_openstreetmap_town_bounding_boxes.py development.ini boundaries.dat YYYY-MM-DD

Note: YYYY-MM-DD est la date des données, pas de l'import. Cela est significatif si les données sont plus anciennes que la date de l'import.

Sources de données sur les territoires

Plus d'informations

Pour plus d'informations, vous pouvez consulter et/ou participer à la liste de diffusion Infos-Pratiques.

Last modified 8 years ago Last modified on Nov 24, 2009, 3:29:08 PM