Pages: 1
- Sujet précédent - [MI 8.5] Recherche solution pour automatiser l'assemblage d'objets - Sujet suivant
#1 Thu 22 June 2017 21:24
- pap
- Participant occasionnel
- Date d'inscription: 13 Jun 2007
- Messages: 40
[MI 8.5] Recherche solution pour automatiser l'assemblage d'objets
Bonsoir,
Je cherche à automatiser le plus possible une tache destinée à créer les limites (frontières) d'ensembles de polygones préalablement sélectionnés et extraits d'une table suivant un ou plusieurs critère ...
J'ai fait un petit schéma que la manipe (pièce jointe).
EXPLICATIONS :
J'ai une table initiale avec un très grand nombre de polygones (type parcelle).
Chaque polygone (parcelle) est renseignée avec plusieurs champs (nom, type, occupation, surface, coordX, coordY, codes, etc.).
Je cherche à réaliser des ensembles de parcelles via une sélection sur 1 critère qui seront ensuite enregistrés dans des tables distinctes.
J'ai ensuite 2 besoins supplémentaires :
1 - je veux garder l'intégrité graphique de mes ensembles (je ne veux pas "Assembler" les parcelles d'une sélection)... j'ai besoin d'identifier chaque parcelle et de garder les attributs de chacune d'elles.
2- j'ai ensuite besoin de nouvelles tables contenant uniquement les limites (les frontières) de mes sélections (pour chaque sélection je veux "Assembler" les parcelles en un seul objet afin de définir la limite extérieure de mes sélections = frontière).
Ayant beaucoup (...) de parcelles, je cherche à automatiser au maximum les choses...
J'ai réalisé la première étape qui est de découper la table initiale en plusieurs tables (sélection de parcelles) suivant un critère de sélection via un outils de découpage de table (decoupe_table_V2.MBX)
Il me reste à créer pour chacune de ces nouvelles tables (sélections de parcelles) leur frontière et je souhaite automatiser la chose (assemblage des objets + agrégation des données attributaires).
Voilà, si vous avez une idée... je suis grandement preneur.
Avec un grand merci d'avance !
PAP
Hors ligne
#3 Mon 26 June 2017 09:49
- Raphaël_
- Participant actif
- Date d'inscription: 18 Jan 2016
- Messages: 110
Re: [MI 8.5] Recherche solution pour automatiser l'assemblage d'objets
Salut,
Tu peux toujours dupliquer ta table et fusionner les objets de cette nouvelle table, je n'ai pas le code en tête pour générer les variables mais dans ton cas en 3-4 lignes de MB...
Hors ligne
#4 Mon 26 June 2017 10:35
- pap
- Participant occasionnel
- Date d'inscription: 13 Jun 2007
- Messages: 40
Re: [MI 8.5] Recherche solution pour automatiser l'assemblage d'objets
[img][/img]
Salut,
Tu peux toujours dupliquer ta table et fusionner les objets de cette nouvelle table, je n'ai pas le code en tête pour générer les variables mais dans ton cas en 3-4 lignes de MB...
Bonjour,
Oui, c'est la manière "artisanale" que j'utilise quand j'ai peu de manipes du genre à réaliser.
Dans le cas présent, je souhaite automatiser la chose car j'ai une très grande quantité de regroupements de parcelles pour lesquels je doit sortir les frontières.
Le faire manuellement ce serait trop long avec un risque d'erreur de manipulation trop important... et en plus c'est assez urgent !
Autres soucis, MapBasic et moi ça fait 2 !!!... mais si tu retrouves le code et avec quelques explication pour le mettre en oeuvre, je suis preneur !!!
Merci
Dernière modification par pap (Mon 03 July 2017 15:02)
Hors ligne
#5 Mon 26 June 2017 10:54
- Raphaël_
- Participant actif
- Date d'inscription: 18 Jan 2016
- Messages: 110
Re: [MI 8.5] Recherche solution pour automatiser l'assemblage d'objets
Ah ! Je pensais que comme tu avais fait ton MBX, tu t'en sortais dessus. N'y connaissant rien dessus non plus, j'avais fait ça en VBA à l'époque, qui me générait du texte que je n'avais plus qu'à copier dans la fenêtre MapBasic...
Je n'ai plus que ça comme code sous la main, mais je pense que ça peut déjà être une base de départ. Ca te crée de nouvelles tables à partir des critères que tu souhaites.
Alors ça va te créer un paquet de tables, mais tu peux les fusionner ensuite sans trop de soucis.
Code:
Dim rep As String rep = ApplicationDirectory$() Select * From TABLE_ORIGINE Into TABLE_DESTINATION where CONDITION_DE_SELECTION NoSelect Commit Table TABLE_DESTINATION As rep+"TABLE_DESTINATION.TAB" TYPE NATIVE Charset "WindowsLatin1" Close Table TABLE_DESTINATION Interactive Open Table rep+"TABLE_DESTINATION.TAB" Interactive
Alors j'ai clairement pas la prétention d'être capable de répondre à ta question, mais au moins on y réfléchis...
Pour les modalités de fusion (notamment somme des surfaces...) je ne sais pas où ça se définit, mais bon après ça peut se recalculer, ça sera peut être même plus rapide
Dernière modification par Raphaël_ (Mon 26 June 2017 10:55)
Hors ligne
#6 Mon 03 July 2017 15:07
- pap
- Participant occasionnel
- Date d'inscription: 13 Jun 2007
- Messages: 40
Re: [MI 8.5] Recherche solution pour automatiser l'assemblage d'objets
Ah ! Je pensais que comme tu avais fait ton MBX, tu t'en sortais dessus. N'y connaissant rien dessus non plus, j'avais fait ça en VBA à l'époque, qui me générait du texte que je n'avais plus qu'à copier dans la fenêtre MapBasic...
Je n'ai plus que ça comme code sous la main, mais je pense que ça peut déjà être une base de départ. Ca te crée de nouvelles tables à partir des critères que tu souhaites.
Alors ça va te créer un paquet de tables, mais tu peux les fusionner ensuite sans trop de soucis.Code:
Dim rep As String rep = ApplicationDirectory$() Select * From TABLE_ORIGINE Into TABLE_DESTINATION where CONDITION_DE_SELECTION NoSelect Commit Table TABLE_DESTINATION As rep+"TABLE_DESTINATION.TAB" TYPE NATIVE Charset "WindowsLatin1" Close Table TABLE_DESTINATION Interactive Open Table rep+"TABLE_DESTINATION.TAB" InteractiveAlors j'ai clairement pas la prétention d'être capable de répondre à ta question, mais au moins on y réfléchis...
Pour les modalités de fusion (notamment somme des surfaces...) je ne sais pas où ça se définit, mais bon après ça peut se recalculer, ça sera peut être même plus rapide
Hello,
Merci du retour... mais ce code va me donner quoi en résultat ?... comme exposé plus haut, MapBasic et autres langages de prog... je ne sais pas les lire !
PAP
Hors ligne
#7 Thu 30 November 2017 20:51
- pap
- Participant occasionnel
- Date d'inscription: 13 Jun 2007
- Messages: 40
Re: [MI 8.5] Recherche solution pour automatiser l'assemblage d'objets
petit up
Hors ligne
Pages: 1
- Sujet précédent - [MI 8.5] Recherche solution pour automatiser l'assemblage d'objets - Sujet suivant