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 14 September 2011 13:36

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

[APIC] Initialisation de géométrie par asl

Aloha

Je cherche comment initialiser/créer la géométrie d'une série d'objet surfacique par asl. Je souhaiterai leur donner la même géométrie qu'un objet qui est déjà dans ma base.

ObjetAjouterSection me semble être le bon opérateur, mais l'argument "table de points" me laisse coi. Comment je transforme un objet en table de points ?

D'avance, merci,


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#2 Wed 14 September 2011 14:04

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 347

Re: [APIC] Initialisation de géométrie par asl

Salut Pierre,
Si tu as déjà un objet en base, quelque soit son modèle et que tu veux créer un autre objet identique à la ce dernier, utilise plutôt l'opérateur ObjetCopierPartie

Hors ligne

 

#3 Wed 14 September 2011 14:17

JC
Membre
Lieu: Les Clayes sous Bois
Date d'inscription: 31 Jul 2007
Messages: 332

Re: [APIC] Initialisation de géométrie par asl

Hello Pierre !

Même suggestion que Pierre-Yves : ObjetCopierPartie devrait te rendre le service attendu. A noter qu'à mon sens, il est plus facile à utiliser avec les géométries (qui s'annulent et remplacent...) qu'avec les attributs/relations, qui demandent un peu plus de précautions.

JC


Association GeoRezo.net

Hors ligne

 

#4 Wed 14 September 2011 14:22

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 347

Re: [APIC] Initialisation de géométrie par asl

Autre chose,
Si tu es sous Oracle avec un autocommit activé, un conseil :
- débraye le
- fais ton ObjetCopierPartie et toute les manipulations sur les sections
- réactive ton autocommit

Sinon, il peut y avoir des problèmes (objet résultant zombi...)

Hors ligne

 

#5 Wed 14 September 2011 14:28

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 347

Re: [APIC] Initialisation de géométrie par asl

Exemple

Fonction [FPC_DECOUPE_Cas_1 (collec,ilot,parc) var obj]
[
    FPC_SC_RemplirTablesPoints
    CollectionAjouterObjet collec parc

    BDFixerOption (3,0) // On débraye l'autocommit momentanément

    Donner [obj] ObjetCreerED COMP_TERRAIN FPC_TABLE_5POINTS 510
    Quand (Objet? obj)
    [
        // Copie du graphisme depuis l'objet source
        ObjetCopierPartie parc  obj "GS"
        ObjetSupprimerSection obj 1
        WBO_DIVERS_RedresserTextureObjet obj
        WBO_AfficherStandard obj
        ObjetFixerAttributSimple obj ATTR_TERRAIN_ORIGINE VAL_ORIGINE_CADASTRE
        BDCommit
        CollectionAjouterObjet COLLEC_TERRAIN_CREES obj
    ]

    BDFixerOption (3,1) // et on re remet sinon plantage dans le maniement des sections
]

Hors ligne

 

#6 Wed 14 September 2011 16:08

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: [APIC] Initialisation de géométrie par asl

Ok.

Pour initialiser une géom de type polygone j'ai utilisé :

Code:

...
        Donner [tabpt] AllouerTable TypePoint 4
            Copier (tabpt : 0) Point 0 0
            Copier (tabpt : 1) Point 1 1
            Copier (tabpt : 2) Point 0 1
            Copier (tabpt : 3) Point 0 0
        Donner [objgra] ObjetCreerED compogra tabpt 1
...

Merci à tous.


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#7 Thu 15 September 2011 06:24

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 347

Re: [APIC] Initialisation de géométrie par asl

Salut Pierre,

Fais attention quand même que les coordonnées passées dans ta table soient dans ton espace géographique !!!!
Surtout sous Oracle encore une fois

Si ton objet à créer est le premier a avoir cette forme, tu dois passer par ObjetCreerED puis éventuellement lui rajouter des sections graphiques (dans la cas d'objet multi part ou bien d'objet ayant des traits tranparents

Si ton objet à créer à son homologue graphique en base,  tu dois passer par ObjetCreerED pour l'initialiser ObjetCopierPartie pour récupérer le graphisme de l'autre objet puis ObjetSupprimerSection pour supprimer la section qui ta permis d'initialiser l'objet


En aucun cas, il faut laisser dans la base un objet graphique linéeaire (;9) ...... sans graphisme.

Dernière modification par pyjoubert (Thu 15 September 2011 06:25)

Hors ligne

 

Pied de page des forums

Powered by FluxBB