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 Tue 17 July 2007 14:32

scoutoto
Participant occasionnel
Date d'inscription: 5 Jun 2007
Messages: 32

[MapX] Superposition de features

Bonjour,

J'utilise l'ActiveX MapX et voici la description de mon problème.

J'ai à ma disposition plusieurs fichiers .TAB avec pour objectif de les fusionner.
Je crée donc autant de layers que de fichiers .TAB sélectionnés par l'utilisateur.
Mais avant de tout fusionner, il me faut détecter quelles sont les parcelles (ou features) qui se superposent partiellement sur deux layers différents.

Je peux bien évidemment utiliser la fonction "IntersectFeatures".
Solution 1 : J'ai essayé de comparer la collection de features du layer "A" avec la collection de features du layer "B".
Le résultat obtenun'est pas correct (aucune superposition n'est trouvée alors que certaines parcelles sont réellement superposées !)
Solution 2 : Je compare un feature du layer "A" avec la collection de features du layer "B", etc.... .
Cette opération est très longue donc pas utilisable pour ma problématique.

Sous Mapinfo, j'arrive à obtenir ce que je souhaite et rapidement avec la sélection SQL suivante :
Fields {*}
Tables {LAYERA, LAYERB}
Where {CartesianArea(overlap(LAYERA.obj,LAYERB.obj),"hectare") where LAYERA.obj intersects LAYERB.obj}
Group {}
Order {}
Into {LSTLAYER_INTERSECTIONS}
Browse

J'ai enregistré cette requête (QRY), est-il possible de l'utiliser avec l'active X MapX ou
peut on utiliser les fonctions SQL (ci-dessus) sous MapX ?

Merci de votre aide.

Hors ligne

 

#2 Mon 30 July 2007 09:45

ninikkhuet
Participant occasionnel
Date d'inscription: 13 Jun 2007
Messages: 20

Re: [MapX] Superposition de features

Bonjour,

si tu as trouvé une réponse à ton problème, je serais curieuse de connaître la solution

Hors ligne

 

#3 Mon 30 July 2007 15:25

jasper
Participant occasionnel
Lieu: Paris
Date d'inscription: 7 Mar 2007
Messages: 44

Re: [MapX] Superposition de features

Bonjour.

Il est possible avec MapX, comme sous MapInfo, d' effectuer une requête géographique, par le biais de la méthode Layer.Search().

Voici un exemple tiré de l'aide en ligne MapX.

Cordialement,

Jasper.

Exemple :
Dim f As MapXLib.Feature
Dim v As New MapXLib.Variables
Set f = Map1.Layers.Item("states").Selection.Item(1)       ' find cities within selected state

Map1.Datasets.Add miDatasetLayer, Map1.Layers("us cities"), "citiesds"          ' add a Dataset so we can reference the 'state' column.

   v.Add "var1", f   ' add feature variable
   v.Add "svar", "TX"   'add string variable
   v.Add "dvar", Date   ' add date variable (just to demonstrate use of date function with a variable)


' do search and get features collection as result
Set ftrs = Map1.Layers.Item("us cities").Search("obj within var1 and year(dvar) = 2000 and state <> svar ", v)

' now show results as selection
   Map1.Layers.Item("us cities").Selection.Replace ftrs

Hors ligne

 

Pied de page des forums

Powered by FluxBB