Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 mar. 20 mars 2018 18:14

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2665
Site web

Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour

Tumasgiu et moi même avons le plaisir de vous proposer une solution open source écrite en VB.net qui permet d'intégrer les données du plan cadastral au format Edigéo dans une base PostGis.

Il s'agit d'une version BETA.

Ce logiciel est fait pour Windows.

Il permet d'intégrer autant de communes et départements que l'on veut dans la même base de données. La seule limite étant le temps dont vous disposez. Commencez par un petit échantillon car une fois le processus lancé l'interrompre avant la fin conduit à un état instable de la base de donnée.

En test sur une BD locale, il nous faut 2 h 51 mm pour intégrer l'ensemble de la région Corse.

Nous vous laissons découvrir et attendons vos retours ...

https://github.com/ChristopheVergon/Integrateur_edigeo

NB: pour ceux qui voudraient modifier le code source, le module MDC doit être manipulé uniquement par des gens avertis ayant une connaissance intime des API WINDOWS graphiques, car les résultats pourraient être étranges.

Que la force soit avec vous wink


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#2 mar. 20 mars 2018 20:11

Theos2000
Membre
Date d'inscription: 15 juin 2015
Messages: 113

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Quelle chance, car je n'arrivais pas a intégrer certaines communes avec le plugin de postgis. Par contre concrètement cela marche comment #toto est content# ????
Par curiosité car lorsqu'on télécharge le cadastre en Edigeo en libre accès on a du .tar.bz2...on retrouve bien un fichier thf dans le tar.bz2, mais les autres fichiers sont intégrés et si oui quelle est la manip, car j'imagine qu'il faut égalent dezipper en masse...Et merci pour cet outils que j'ai hate d'essayer !!!

Hors ligne

 

#3 mar. 20 mars 2018 22:06

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2665
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour,

Désolé il était tard, pas vu que j'avais laissé un fichier bidon pour test. La doc arrive ..
Il vous faut deziper les tar.bz2 deux fois (vers tar puis vers "normal" dans un répertoire, avec la commande chargez thf vous désignez le répertoire contenant les fichiers edigeo (en fait thf est le fichier "maître" d'où le nom de la fonction), ensuite dans option vous réglez le nombre de processus Edigéo, le nombre de processus Postgis, puis avec "intégration vous allez lancer réellement l'intégration qui se fait en multi threading.

Le principe:
L'ensemble des lots sont classés en fonction de la taille du plus gros fichier vecteur d'un lot. En désignant dans option le nombre de processus "petits" vous équilibrez la charge. Par exemple 15 processus Edigeo avec 10 petits, cinq processus vont attaquer le début de la liste en traitant les gros fichiers, pendant ce temps, les dix autres attaquent la fin de liste donc les "petits" lots.
les processus Edigéo lisent les fichiers edigeo d'un lot, les chargent en mémoire.
Dès qu'un lot est controlé et chargé, un controleur regarde s'il existe un processus postgis disponible, si oui il lui transmet le lot pour intégration si non il le dépose dans un tampon mémoire. Ce contrôleur vient régulièrement examiner si un lot est disponible dans ce tampon puis le donne au process postgis pour intégration.

Donc c'est à vous en fonction de la machine sur laquelle tourne le logiciel pour régler les options, sachant qu'un programme windows ne peut utiliser plus de deux giga de RAM. Faites des tests et activez le gestionnaire de programme windows pour connaitre la consommation mémoire et processeur.

J'ai oublié un point important, vous devez posséder des droit en écriture sur les répertoire où sont situés les fichiers Edigeo, car un fichier de log est écrit.(pas encore complet d'ailleurs).

NB: le programme cré lui même la base postgis.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#4 jeu. 22 mars 2018 17:26

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2665
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour,

Pour indiquer une mise à disposition de la doc d'utilisation.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#5 jeu. 22 mars 2018 20:12

Robin
GeoRezo Team
Lieu: France
Date d'inscription: 31 août 2005
Messages: 13591
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Merci Beaucoup Christophe de ce partage. Il ne reste plus qu'à tester !!


Association GeoRezo.net

Hors ligne

 

#6 jeu. 22 mars 2018 23:11

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2665
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonsoir,

Je viens de m'apercevoir que le SRID est codé en dur dans le code. Désolé. Je corrige rapidement pour la version compilée.
Pour ceux qui veulent c'est dans le module variables globales du code source. A noté que les sources peuvent être utilisées avec visual studio express c'est gratuit:
https://fr.wikipedia.org/wiki/Microsoft … io_Express

Avoir un SRID en 3942 pour toute la France c'est pas jacobin wink


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#7 jeu. 29 mars 2018 17:40

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2665
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour,

La mise à jour pour la gestion des SRID est faite.
Attention il est de la responsabilité de l'opérateur de savoir ce qu'il fait !!
Ne mixez pas deux jeux de données de projection différente dans la même base.
Vérifiez lors du choix du système de projection qu'il correspond à celui de votre jeux de données, car pas de contrôle du fichier .GEO dans le lot EDIGéO pour l'instant.
Et d'une manière ou d'une autre comme la DGFiP a fait le choix de laissé vide le champs réservé au SRID et utilise un champs alphanumérique dont le contenu est non normé ....

Pour une télécharger cette dernière version du logiciel :

https://github.com/ChristopheVergon/Int … o_1.01.zip

Joyeuses Pâques


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#8 jeu. 29 mars 2018 18:12

Pascal Boulerie
Banni
Lieu: France
Date d'inscription: 12 sept. 2005
Messages: 1798
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

ChristopheV a écrit:

la DGFiP a fait le choix de laissé vide le champs réservé au SRID et utilise un champ alphanumérique dont le contenu est non normé...


Il me semble que ces points de suspension sont présents pour bien signifier : "dommage que le SRID (Spatial Reference System Identifier) ne soit pas renseigné dans le champ ad hoc"...


Mots-clés : "Action Publique 2022" ; AP2022


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#9 ven. 30 mars 2018 13:53

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2665
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour,

Ajout du MCD et de la documentation pour l'exploiter.

Et oui la suspension c'est pour les séances houleuses, les non-dits et éviter les chutes.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#10 mar. 24 avril 2018 14:41

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2665
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour,

Une nouvelle mise à jour est disponible.

L'utilisateur peut maintenant quitter le programme (menu fichier quitter) pendant l’exécution, avant de se terminer le programme finit l'intégration de TOUS LES lots en cours d'intégration dans la base de données Postgis.

N'hésitez pas à faire remonter d'éventuels buggs, même si je suis pas toujours de bonne humeur, je ne mords pas wink


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#11 jeu. 17 mai 2018 13:01

pfj
Membre
Lieu: Groslée-St-Benoit
Date d'inscription: 14 déc. 2007
Messages: 3

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour Christophe, tout d'abord un grand merci à toi et Tumasgiu, de la part de tes anciens collègues, pour la mise à disposition de cet intégrateur.

Par contre, après plusieurs tentatives, je rencontre un bug au moment où le programme envoie les données vers la base postgis : le programme s'arrête et la base postgis n'est pas alimentée.

Toute la première partie se déroule sans problème et le test de connexion à la base est positif. La base postgis et le schéma existent déjà avant d'utiliser l'intégrateur.

Tu cherchais quelqu'un pour "inaugurer" les bugs : c'est fait ....

Bien cordialement, Pierre-Frédéric

Hors ligne

 

#12 mar. 22 mai 2018 08:03

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2665
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour,

Merci wink

Manifestement la base de données n'est pas créée. J'ai eu la même remontée en privé.
Je rentre de congés donc je regarde ça dans la journée ...
A bientôt


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#13 mar. 22 mai 2018 10:07

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2665
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour,

Si la base de données est existante il vous faut fournir un nom de schéma ne comportant aucune table. Les tables seront crées par le programme.

Si ça ne marche pas essayez de lancer ce script sql sous pgadmin par exemple, il permet la création du schéma et des tables remplacez SRID par la valeur numérique de votre système de projection et monschema par le nom de votre schéma.:

depuis une base quelconque :

Code:

CREATE DATABASE  mabasecadastre;
CREATE EXTENSION postgis;

puis dans la base nouvellement crée :

Code:

CREATE SCHEMA monschema;
CREATE TABLE monschema.parcelle (idparcelle serial, ptrsubsection integer, numero varchar(255),
contenance integer, dateacte varchar(8), primitive varchar(4),arpente boolean, nfp boolean, anomalie integer,ptrparcasspdl integer,
pdltype varchar(3), numvoie varchar(4), voiemajic varchar(5), rivoli varchar(5),inseemere varchar(3),
prefsecmere varchar(3), sectionmere varchar(2), numplanmere character varying(4), typefiliation varchar(1),millesime varchar(4),active boolean);
SELECT AddGeometryColumn('monschema','parcelle','the_geom',SRID ,'POLYGON',2);
CREATE TABLE monschema.textparcelle (idtextparcelle serial,ptrparcelle integer, numero varchar(255));
SELECT AddGeometryColumn ('monschema', 'textparcelle', 'the_geom',SRID,'POINT',2);
CREATE TABLE monschema.numvoie (idnumvoie serial,ptrparcelle integer, numero varchar(255));
SELECT AddGeometryColumn ('monschema', 'numvoie', 'the_geom',SRID ,'POINT',2);
CREATE TABLE monschema.symblim_parcelle (idsymblim_parcelle serial,sym_id integer,ori_id numeric(9,6), ptrparcelle int)
SELECT AddGeometryColumn ('monschema','symblim_parcelle', 'the_geom',SRID,'POINT',2);
CREATE TABLE monschema.borne_parcelle (idborne_parcelle serial,ptrparcelle int);
SELECT AddGeometryColumn ('monschema','borne_parcelle', 'the_geom',SRID,'POINT',2);
CREATE TABLE monschema.batiment (idbatiment serial, nom varchar (255), dur boolean, millesime varchar (4),active boolean);
SELECT AddGeometryColumn('monschema','batiment','the_geom', SRID ,'POLYGON',2);
CREATE TABLE monschema.subsection (idsubsection serial, nom varchar (10),ptrsection integer);
SELECT AddGeometryColumn('monschema','subsection','the_geom',SRID ,'POLYGON',2);
CREATE TABLE monschema.section (idsection serial, nom varchar (10),ptrcommune integer,fusion varchar(3));
SELECT AddGeometryColumn('monschema','section','the_geom',SRID,'POLYGON',2);
SELECT AddGeometryColumn('monschema','section','the_point',SRID,'POINT',2);
CREATE TABLE monschema.commune (idcommune serial, nom varchar (255),insee varchar(3));
SELECT AddGeometryColumn('monschema','commune','the_geom',SRID,'POLYGON',2);
SELECT AddGeometryColumn('monschema','commune','the_point',SRID,'POINT',2);
CREATE TABLE monschema.lieudit (idlieudit serial);
SELECT AddGeometryColumn('monschema','lieudit','the_geom',SRID,'POLYGON',2);
CREATE TABLE monschema.label (idlabel serial, valeur varchar (255),ptrobj integer,reftable smallint,ordre smallint,police varchar(255),hauteur real,angle real);
SELECT AddGeometryColumn('monschema','label','the_geom',SRID,'POINT',2);
CREATE TABLE monschema.voiep (idvoiep serial, valeur varchar (255),police varchar(255),hauteur real,angle real);
SELECT AddGeometryColumn('monschema','voiep','the_geom',SRID ,'POINT',2);
CREATE TABLE monschema.tronfluv (idtronfluv serial,ptrcommune integer);
SELECT AddGeometryColumn('monschema','tronfluv','the_geom', SRID ,'POLYGON',2);
CREATE TABLE monschema.zonecommuni (idzonecommuni serial,ptrcommune integer);
SELECT AddGeometryColumn('monschema','zonecommuni','the_geom',SRID,'LINESTRING',2);
CREATE TABLE monschema.tronroute (idtronroute serial,ptrcommune integer);
SELECT AddGeometryColumn('monschema','tronroute','the_geom',SRID,'LINESTRING',2);
CREATE TABLE monschema.topoline (idtopoline serial, nom varchar (255),ptrcommune integer,symbol integer);
SELECT AddGeometryColumn('monschema','topoline','the_geom',SRID ,'LINESTRING',2);
CREATE TABLE monschema.tpoint (idtpoint serial, ptrcommune integer,valeur varchar(255),symbol integer,ori real);
SELECT AddGeometryColumn('monschema','tpoint','the_geom',SRID,'POINT',2);
CREATE TABLE monschema.tsurf (idtsurf serial, valeur varchar(255), symbol integer,ptrcommune integer);
SELECT AddGeometryColumn('monschema','tsurf','the_geom',SRID,'POLYGON',2);

Dernière modification par ChristopheV (mar. 22 mai 2018 16:21)


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#14 mer. 23 mai 2018 18:47

Clothilde B
Membre
Lieu: Bastia
Date d'inscription: 18 janv. 2018
Messages: 1

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour Christophe et Tumasgiu,

Le problème persiste même en créant les tables au préalable avec le script que vous avez joint au-dessus !
Le programme cesse de fonctionner lors de l'écriture dans la base Postgis.

Clothilde

Hors ligne

 

#15 lun. 28 mai 2018 16:25

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2665
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour à tous,

Après correction de deux anomalies majeures voici une version dite stable :
(dites non si ce n'est pas le cas) :

https://github.com/ChristopheVergon/Int … stable.zip

Précisions :

Premier bugg si le PC n'était pas configuré avec le séparateur décimal "." mais virgule plantage ! (corrigé)
Deuxième : si la BD était créée et le schema aussi pas de création de table: correction faite.
ATTENTION : Si vous souhaitez intégrer vos données dans une base et un schéma existant il ne faut pas que votre schéma contienne des données ou tout du moins il ne faut pas qu'il contienne de tables nommées :
commune
section
subsection
parcelle
batiment
lieudit
label
tronfluv
zonecommuni
tronroute
topoline
tpoint
voiep
tsurf
selectedparcelle

Autre point vous pouvez suivre les progrès de l'intégration en utilisant QGis et en rafraîchissant régulièrement la visu de la table parcelle par exemple.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#16 mar. 29 mai 2018 21:43

pfj
Membre
Lieu: Groslée-St-Benoit
Date d'inscription: 14 déc. 2007
Messages: 3

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonsoir Christophe, merci pour les corrections effectuées sur le programme.

Je n'ai pas pu encore le tester et j'ai donc utilisé les codes fournis dans ton message du 22/05.

En 4 heures, l'intégrateur a permis la création d'une BD de l'ensemble du département de l'Ain. Moins quelques lots Edigeo qui demandent des corrections avant d'être acceptés par l'intégrateur.

Bien cordialement.

Pierre-Frédéric

Hors ligne

 

#17 mer. 30 mai 2018 08:21

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2665
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour,

@pfj : Merci pour le retour.
Peux tu me dire combien de parcelles ont été intégrées en 4 h ?
Deuxièmement peux tu me donner le type d'erreur dans les lots edigéo ? J'ai constaté (et ETALAB aussi je crois) que la moulinette PCIVecteur vers EDIGéO est parfois fantasque ...
Erreur d'attribut manquant ? Erreur de géométrie ? (là dans notre cas cela devrait passer) Erreur de longueur d'attribut texte (là aussi c'est géré) ?
C'est pour pouvoir tester les erreurs manifeste les rattraper tout l'équilibre étant de permettre le signalement dans les logs sans interrompre le programme et la rapidité de l’exécution.

Nota : il n'est pas possible pour l'instant de créer une bd pour plusieurs départements car le nom des commune n'est pas renseigné dans EDIGéO. Donc il peut y avoir collision entre deux commune de même code insee de département différent. Dans ce cas la commune numéro deux n'est pas crée et les parcelles sont rattachées logiquement (dans la base) à la première même si leur géométrie reste correcte. Je ferai un correctif en utilisant un ficxhier insee des communes de France.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#18 ven. 08 juin 2018 16:49

pfj
Membre
Lieu: Groslée-St-Benoit
Date d'inscription: 14 déc. 2007
Messages: 3

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour,

l'intégrateur a permis l'incorporation en 4h14min6sec, sur un PC portable, de :
     - 409 communes
     - 7537 feuilles
     - 1 327 641 parcelles

Concernant les anomalies sur les lots Edigéo refusés par l'intégrateur, j'en détecte de deux sortes sur les fichiers .vec :
     - une "erreur" commune à tous les lots en échec : deux lignes vides en fin de fichier (après l' EOMT 00:)
     - et dans certains cas : absences de liens section-commune (T3.vec), subdsection-section (T2.vec), parcelles-subdsection (T1.vec), batiment-parcelle (S1.vec), borne-parcelle (S1.vec) et symblim-parcelle (S1.vec).

En espérant t'avoir renseigné.

Bien cordialement.

Pierre-Frédéric

Hors ligne

 

#19 mar. 12 juin 2018 16:35

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2665
Site web

Re: Intégrateur de données EDIGEO vers Postgis pour windows

Bonjour,

Merci pfj !

Pour la première erreur c'est une non conformité par rapport à la norme, en effet EOMT signifie fin de fichier (couplée avec BOMT début fichier).
Pour le reste si le SCD edigéo indique une relation entre deux objets et que les fichiers vecteurs ne contiennent pas cette relation forcément ça plante.
La aussi c'est une non conformité par rapport à la norme.

C'est de la responsabilité de la moulinette PCI générant l'export EDIGéO de respecter la norme ! Peut-être faire une remontée chez le concepteur PCI-Vecteur ? En tout cas nous ne pouvons pas faire de supposition et d'adaptation, la norme est claire et nous nous référons au standard.

Pour les chiffres, ils confirment une chose, plus les fichiers vecteurs sont riches plus le temps d'intégration est long. Comparativement pour 360 communes et 1 million der parcelles nous mettons 2 h 30 en négligeant l'aspect puissance de la machine il est clair que nous avons beaucoup de planches cadastrales avec de grandes parcelles de montagne sans bâti, sans détails topo etc ...
Autre enseignement la constitution des lots EDIGéO pour des communes "riches" au sens vectoriel doit se faire à la feuille et non à la section.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |