banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 19 April 2006 14:46

Delphine Dupont
Juste Inscrit !
Date d'inscription: 11 Apr 2006
Messages: 2

cadastres : assembler section et parcelles

Bonjour

J'ai récupéré les cadastres numérisés de plusieurs communes. J'ai besoin d'avoir dans une seule table l'identifiant commune, les sections cadastrales et les parcelles.
Pour le moment j'ai, par commune,  une table "section" avec l'identifiant communal et la section; et une table "parcelles" avec uniquement les numéros de parcelles.
Comment regrouper toutes ces données?

Je dois ensuite, à partir d'une autre table contenant divers polygones, extraire les listes de parcelles correspondant à chaque polygone. y a-t-il un moyen de créer ces listes en une seule fois ou dois-je travailler polygone par polygone?

merci d'avance

Hors ligne

 

#2 Wed 19 April 2006 17:43

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: cadastres : assembler section et parcelles

Hello,

j'ai, par commune,  une table "section" avec l'identifiant communal et la section; et une table "parcelles" avec uniquement les numéros de parcelles


Je reprend cette info pour etre sur de comprendre :

- Parcelle.TAB avec attributs de parcelle
- Section.TAB avec numéro de section+numero de commune

J'ai besoin d'avoir dans une seule table l'identifiant commune, les sections cadastrales et les parcelles.


Donc :

Vous devez créer les deux colonnes IDSection et IDComm dans votre fichier de parcelles. Ces champs accueilleront les info de la table Section.

Ensuite vous devez utiliser une requête spatiale pour renseigner vos parcelles des infos de section.

[Solution sans programmation]

Le principe :

- Faire une requête pour sélectionner les parcelles qui sont contenues dans la section XX
- Mettre à jour la sélection de la table parcelles avec les infos de le section XX.
- Passer a la section suivante et renouveller l'opération.

Comme c'est un peu fastidieux, je vous conseille de passer par un script via la fenêtre mapbasic en vous aidant d'Excel pour créer les requêtes.

Sous Excel, récupérez la liste de vos sections, par commune.

* Créer la requête type qui permettra de selectionner puis mettre a jour vos parcelles
* Bricoler avec la concaténation pour obtenir une liste d'autant de requetes que de sections.
* Coller le resultat bien mitonné dans la fenetre mapbasic
* Selectionner tout et faire entrée.
* Regarder mapinfo faire le boulot à votre place.

Je dois ensuite, à partir d'une autre table contenant divers polygones, extraire les listes de parcelles correspondant à chaque polygone


.

Même procédé. Sélection puis mise a jour. A la main ou avec script.

Bon courage. C'est un peu long à mettre en place mais c'est super de voir mapinfo mettre a jour vos table sans rien faire..

Exemple de procédé :

La requête initiale TYPE/MODELE doit être de ce genre là :

Code:

select * from SECTION where IDSection = "nom de section à mettre en liste" Into SEL_SECTION_XX (à incrementer sous Excel)
select * from PARCELLES, SEL_SECTION_XX Where PARCELLES.obj Within SEL_SECTION_XX.obj Into SEL_PARC_XX ( a incrementer sous Excel)
Update "SEL_PARC_XX" Set IDSection = "nom de section à mettre en liste"

Tant qu'à faire ajouter un truc du genre

Code:

Update "SEL_PARC_XX" Set IDCommune = "nom de commune"

Les parties communes du style >> select * from SECTION where section = " << doivent être dans une colonne. Ensuite vous mettez votre liste de section dans la colonne suivante et ainsi de suite.

Les espaces doivent être enlevés mais ci dessous un exemple pour faire un fichier batch (d'automatisation) :

Code:

COLONNE 1    COLONNE 2                                              COLONNE 3
Update "         EP_BATIMENT_LEGER                    " Set COMMUNE = "NOMDECOMMUNE"
Update "         EP_BATIMENT_DUR                          " Set COMMUNE = "NOMDECOMMUNE"
Update "         EP_PARCELLES                                   " Set COMMUNE = "NOMDECOMMUNE"

Il faut ensuite CONCATENER les 3 colonnes sous Excel pour obtenir une belle requete SQL toute machée.
Copier coller dans un fichier texte et vous avez vos X requêtes prêtes a être lancées.

J'espère que ca pourra vous dépanner. J'ai pu commettre des petites erreurs mais bon, c'est le principe.

Scriptement,
Robin.

Hors ligne

 

Pied de page des forums

Powered by FluxBB