Aller au contenu

Parcellaire d'un département par commnunes


bonuscad

Messages recommandés

Pour faire suite à ce sujet... DWG (Cadastre 2D) de 730 Mo = OK

 

Je vous propose un lisp qui va automatiquement créer un script et l’exécuter pour mettre en place le parcellaire d'un département.

Les pré-requis:

 

Disposer d'Autocad Map bien sûr!

Créer un dossier vierge de nomination au choix ainsi que l'emplacement (lecteurs en réseau possibles)

Télécharger les sources de votre département, pour rappel: https://cadastre.data.gouv.fr/data/etalab-cadastre/latest/shp/departements/

Extraire les sources vers le dossier créé.

 

Lancez AutoCAD et dans le nouveau dessin ouvert par défaut, charger (ou glissez-déposer dans la fenêtre graphique) le fichier lisp: make-BD_CADASTRE.lsp (accordez l'usage si vous avez des messages d'avertissement sur l'exécution)

 

Et la suivant la puissance de la machine, l'importance du parcellaire le traitement du script peut varier.

Au minimum une heure mais deux heures ou plus ne sont pas impossible...

Donc lancer cette procédure à une pause déjeuner ou pendant la nuit (Attention à la mise en veille prolongée de window qui peut mettre le traitement en suspend) et il vaut mieux ne pas trop solliciter la machine pendant cette période.

 

Au final un fichier gabarit nommé BD-CADASTRE.dwg sera créé.

En chargeant le lisp BD_CADASTRE.lsp dans ce dessin et en exécutant la commande BD_CADASTRE, vous pourrez "balader" la souris sur le département, elle affichera le nom de la commune survolée. Lorsque celle-ci vous convient, un clic-gauche et la requête est effectuée sur cette commune.

Vous pouvez répéter la commande si une autre commune vous est nécessaire.

A la suite de ça vous pouvez décharger la référence extérieur et sauvegarder le résultat à autre endroit sous un autre nom. Évitez de modifier ou d'enregistrer le gabarit BD_CADASTRE utilisé.

Cette partie finale peut être utilisé sur des machines sans prétention mais Autocad Map reste nécessaire.

 

Bonne utilisation si vous en trouvez l'usage intéressant.

 

J'ai réaliser ceci car il y a environ 4 mises à jour par an, et faire ces opérations manuellement sont fastidieuses. Après à vous de décider si vous voulez toutes les faire ou seulement une par an par exemple.

 

Merci d'un retour éventuel, car j'ai testé sur trois départements différents et cela a fonctionné mais les tester tous... wacko.gif

 

PS:Pour info j'ai essayé avec AcCoreConsole (qui est nettement plus rapide) mais si la commande MAPIMPORT est effectivement effectué, le shape est bien inséré, mais les Données d'Objet ne sont pas importées. C'est pour ça que j'ai du me retourner vers un script classique utilisant le GUI (Graphic User Interface).

make-BD_CADASTRE.lsp

BD_CADASTRE.lsp

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Hello Bruno

 

WAOUH Fabuleux ! MERCI !!

 

C fou les Limitations de AcCoreConsole !!

 

Et au sujet du MAPIMPORT "impossible" de certains SHP , SVP ne pas oublier CE Sujet :

https://cadxp.com/topic/49376-acad-mapcivil-20xx-bug-avec-certains-shp-dbf-shx/

 

LA SANTE, Bye, lecrabe ... Deja 55 jours de retraite ...

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Salut Bonus,

 

Bonne utilisation si vous en trouvez l'usage intéressant.

 

J'ai réaliser ceci car il y a environ 4 mises à jour par an, et faire ces opérations manuellement sont fastidieuses. Après à vous de décider si vous voulez toutes les faire ou seulement une par an par exemple.

 

Merci d'un retour éventuel, car j'ai testé sur trois départements différents et cela a fonctionné mais les tester tous... wacko.gif

Sur que c'est intéressant, moi j'étais parti plutôt sur une gestion fdo, avec un .layer personnalisé par lisp,

le pb c'est que les shapes etatlab ne sont pas affichage en fdo sans les passer par ... Qgis

donc une fois qu'on est sur Qgis ...

 

PS:Pour info j'ai essayé avec AcCoreConsole (qui est nettement plus rapide) mais si la commande MAPIMPORT est effectivement effectué, le shape est bien inséré, mais les Données d'Objet ne sont pas importées. C'est pour ça que j'ai du me retourner vers un script classique utilisant le GUI (Graphic User Interface).

dommage, car la lenteur de l'import export en utilisant "_mapimport" ou "_mapexport" est inacceptablement lente ...

J'ai pas mal de conversions qui l'utilisent, et c'est horrible !

a+, gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

J'ai lancé sur une version Map 2015 qui est ma version de prédilection et le script s'est arrêté lors de l’enregistrement du DWG car il essaie l'option _2018 pour le format du DWG. Et cette option n'existe pas sur les versions 2017 et antérieures.

Je sais que je ne suis pas du tout à jour avec cette version, mais je ne sais pas s'il y a moyen de détecter la version pour proposer l’enregistrement dans une version compatible.

 

Je relance un test sur 2019 pour voir le traitement complet

 

Olivier

Lien vers le commentaire
Partager sur d’autres sites

Hello le Bas-Savoyard

 

Tu as vu CE sujet : https://cadxp.com/topic/49376-acad-mapcivil-20xx-bug-avec-certains-shp-dbf-shx/

 

Ainsi tu sauras comment lire directement (par un MAPIMPORT ou en FDO) les SHP Etalab par exemple !

 

LA SANTE, Bye, lecrabe "de la Basse-Loire"

... Deja 56 jours de retraite ...

 

PS pour Olivier : tu replaces "_2018" par "_2013" (Multiples remplacements) dans le Lisp de Bruno

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Tu as vu CE sujet : https://cadxp.com/topic/49376-acad-mapcivil-20xx-bug-avec-certains-shp-dbf-shx/

 

Ainsi tu sauras comment lire directement (par un MAPIMPORT ou en FDO) les SHP Etalab par exemple !

 

Trop simple !

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

A Olivier :

J'ai lancé sur une version Map 2015 qui est ma version de prédilection et le script s'est arrêté lors de l’enregistrement du DWG car il essaie l'option _2018 pour le format du DWG

Tu peux simplement ouvrir le fichier make-BD_CADASTRE.lsp et faire un chercher/remplacer de _2018 par _2013 (il y en a deux) pour être compatible avec une version inférieur à 2018.

 

A Lecrabe :

Oui j'avais bien noté ce problème de SHX d'Etalab non compatible, c'est d'ailleurs cette information récente (et toute bête) qui m'a incité à produire ce script (ou j'efface simplement les SHX). Merci de cette info bien utile qui simplifie bien les choses...

 

Pour information j'ai lancé la procédure sur un petite machine pour voir:

Un portable DELL Latitude E6410 ( Windows 10, i5 (CPU M 560 @ 2.67 Hz) avec 8 Go de Ram et carte graphique intégrée avec un MAP 2019 )

Le script à pris exactement 2h 30 à constituer la base, donc ça reste faisable sur des machines on va dire de bureautique... et le résultat s'exploite facilement par la procédure de requête en Lisp BD_CADASTRE fournie sans mettre à genoux cette petite machine.

Le seul inconvénient qui reste (mais cela n'est pas inhérent à la procédure mais plutôt à Map lui même), c'est la gestion de POLYDISPLAY qui est vraiment aléatoire.

Mon souhait aurait été d'avoir le remplissage sur l'Xref pour que Lisp BD_CADASTRE fonctionne pleinement car si c'est définie sur les bords il ne détecte la commune que si la souris est sur le filaire du MPolygon ET qu'une fois la commune validée cela passe en filaire et non en plein car on ne distingue plus rien.

En fait Polydisplay n'est pris en compte que d'une session à une autre, vraiment pas pratique...

 

Un petit rappel: Attention à l'alias CADASTRE défini par la procédure au cas ou vous faite plusieurs départements ou que vous changer le dossier initial de nom ou d'emplacement.

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Salut Bonus,

 

Avec Map 2019, j'ai lancé la procédure sur le département 91 => 50 minutes pour traiter le département entier. C'est rapide.

 

Pas de souci, tout a fonctionné correctement.

 

Je vais tenter d'adapter le script avec changement de système de coordonnées pour tout passer en CC49. On va voir.

 

Olivier

Lien vers le commentaire
Partager sur d’autres sites

  • 5 mois après...

Ça y est étant à la retraite (pour l'instant en congé)

Mes collègues étant en difficulté avec mon application (il n'arrivaient pas à avoir le numéro des parcelles), j'ai donc réalisé une vidéo pour leur expliquer la procédure.

Comme elle est faite je la mets ici, ça fera un plus... et pourra peut être aider !

BD_CADASTRE

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

  • 1 an après...
Citation

PS:Pour info j'ai essayé avec AcCoreConsole (qui est nettement plus rapide) mais si la commande MAPIMPORT est effectivement effectué, le shape est bien inséré, mais les Données d'Objet ne sont pas importées. C'est pour ça que j'ai du me retourner vers un script classique utilisant le GUI (Graphic User Interface).

Je viens de découvrir une info forte intéressante à propos de AcCoreConsole.

A priori on ne peut pas utiliser certaines fonctions évoluée car elle ne sont pas simplement chargées.

Donc en les chargeant elles seraient accessibles, par exemple (trouvé ICI)

(foreach file '("acapp.arx"		"acapp.crx"		"acautoloader.arx"
		"acautoloader.crx"	"acblock.crx"		"accmmgr.crx"
		"acconnectwebservices.arx"			"accoremgd.dll"
		"accounting.arx"	"accounting.crx"	"acdim.arx"
		"acdim.crx"		"acetutil.arx"		"acexperience.arx"
		"acfdui.arx"		"acgeomentobj.dbx"	"acgsconfig.arx"
		"acgsconfig.crx"	"acismobj24.dbx"	"acismui.crx"
		"acjscorestub.crx"	"acmapcoordsyscore.dbx"	"acmgd.dll"
		"acobjclassimp.arx"	"acocschemautil.arx"	"acopm.arx"
		"acopmext.arx"		"acpexctl.arx"		"acpi.arx"
		"acpublish.arx"		"acpublish.crx"		"acrevcloud.crx"
		"acsceneoe.dbx"		"acshareviewpropsaca.dbx"
		"acshareviewpropspe.dbx"			"acsign.arx"
		"acsmnav.arx"		"actable.arx"		"actable.crx"
		"actrace.crx"		"actraceui.arx"		"acvdiff.arx"
		"acvdiff.crx"		"acvmtools.arx"		"acvmtools.crx"
		"acxdiff.arx"		"acxdiff.crx"		"aecarchbase.dbx"
		"aecareacalculationbase.dbx"			"aecbase.dbx"
		"aecbaseex.dbx"		"aecbbldsrv.dbx"	"aecbcol.dbx"
		"aecbelecbase.dbx"	"aecbhvacbase.dbx"	"aecbpipebase.dbx"
		"aecbplumbingbase.dbx"	"aecbtools.dbx"		"aeccivilbase.dbx"
		"aeccmoduleloader.dbx"	"aeccore.crx"		"aeccvbase.dbx"
		"aecloader.arx"		"aecmodeler.dbx"	"aecprojectbase.dbx"
		"aecschedule.dbx"	"aecsolidmodeler.dbx"	"attedit.arx"
		"units.crx"		"vl.arx"		"vl.crx"
	       )
  (command "_.arx" "Load" file)
)

Cela ouvre des perspectives intéressantes pour des scripts (bien que je pense que des commandes faisant usage essentiellement de boite de dialogue poseront toujours problème).

Le gros point noir et de savoir quelle application charger pour avoir la fonction désirée car je pense qu'il est inutile de toutes les charger afin de laisser à AcCoreConsole le plus d'aisance possible.

De plus en chargeant les bons ARX pour Map, cela pourrait par exemple rendre le script proposé initialement plus rapide.

Pour l'instant (et je ne sais pas si je le ferais!) je n'ai rien testé, je voulais surtout partagé l'info.

 

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @bonuscad,

 

Avec la commande ARX, puis GROUPE, tu as la liste des groupes de commandes déclarés dans les ARX.

Avec la commande ARX, puis COMMANDES, tu as la liste des commandes définies par groupe (précédemment vus).

En chargeant les ARX 1 par 1, tu devrais pouvoir récupérer le(s) groupe(s) de commande supplémentaires, puis les commandes définies dans ce groupe.

 

Je en sais pas si Covadis peut-être utilisé en mode console, mais si tu tapes le nom de l'arx en ligne de commande, cela te donne la liste de toutes les commandes définies dans cet ARX. C'est bien pratique.

 

Olivier

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité