#1 Mon 19 January 2009 14:23
- calito
- Participant actif
- Date d'inscription: 2 Jun 2008
- Messages: 112
Requete spatiale
Bonjour tout 'l monde,
J'ai deux shapefile : un point.shp et polygone.shp. Je veux que mon programme selectionne les points qui intersectent ce polygone et m'affiche dans un Message box le nombre de points, lorsque je selectionne un polygone. J'ai essayé avec ce code ça n'a pas marché. Je'n sais pas comment precisé "utilisé les entité selectionnées".
Lorsque je selectionne un polygone, il selectionne tous les points. SVP aidez moi.
Code:
Dim pmxdoc As IMxDocument Set pmxdoc = ThisDocument 'Mon fichier:=== Point.shp Dim pfRouteLayer As IFeatureLayer Set pfRouteLayer = pmxdoc.FocusMap.Layer(0) Dim pFeatureselection As IFeatureSelection Set pFeatureselection = pfRouteLayer 'Mon fichier:=== Polygone.shp Dim pFBatilayer As IFeatureLayer Set pFBatilayer = pmxdoc.FocusMap.Layer(1) Dim pEnumGeom As IEnumGeometry Set pEnumGeom = New EnumFeatureGeometry Dim pEnumGeometryBind As IEnumGeometryBind Set pEnumGeometryBind = pEnumGeom pEnumGeometryBind.BindGeometrySource Nothing, pFBatilayer.FeatureClass Dim pGeomFactory As IGeometryFactory Set pGeomFactory = New GeometryEnvironment Dim pGeom As IGeometry Set pGeom = pGeomFactory.CreateGeometryFromEnumerator(pEnumGeom) 'creation du filtre Dim pSpatialFilter As ISpatialFilter Set pSpatialFilter = New SpatialFilter '..sur la geometry pgeom Set pSpatialFilter.Geometry = pGeom '..avec la relation intersect pSpatialFilter.SpatialRel = esriSpatialRelIntersects 'On selectionne les entites pFeatureselection.SelectFeatures pSpatialFilter, esriSelectionResultNew, False pmxdoc.ActiveView.Refresh
Merci deja pour votre aide.
A+
Dernière modification par calito (Mon 19 January 2009 14:29)
Hors ligne
#2 Mon 19 January 2009 16:21
- Fabien.Krzewinski
- Participant occasionnel
- Date d'inscription: 19 Aug 2008
- Messages: 18
Re: Requete spatiale
La solution est ici : http://georezo.net/forum/viewtopic.php?id=57121
Fabien
Hors ligne