lic211
路人甲
路人甲
  • 注册日期2005-03-26
  • 发帖数94
  • QQ
  • 铜币578枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2067回复:4

请教关于ISpatialFilter的问题

楼主#
更多 发布于:2007-01-12 17:38
<P>请教关于ISpatialFilter的问题</P>
<P ><v:shapetype><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path connecttype="rect" gradientshapeok="t" extrusionok="f"></v:path><lock aspectratio="t" v:ext="edit"></lock></v:shapetype>   <p></p></P>
<P > </P>
<P >  <p></p></P>
<P >第一个是三个多边形要素<p></p></P>
<P >第二个是第一个图中的三个多边形要素总外轮廓生成的多边形要素<p></p></P>
<P >第一个和第二个图分别处于两个要素图层中,<p></p></P>
<P  align=left>我想用第二个作为查询要素<p></p></P>
<P  align=left>第一个作为被查询要素<p></p></P>
<P  align=left>通过以下语句来获得第一个图中三个多边形要素的指针 <B><p></p></B></P>
<P  align=left>Dim pSpatialFilter As ISpatialFilter<p></p></P>
<P  align=left>        pSpatialFilter = New SpatialFilter<p></p></P>
<P  align=left>        With pSpatialFilter<p></p></P>
<P  align=left>            .Geometry = pPolygon<p></p></P>
<P  align=left>            .GeometryField = "shape"<p></p></P>
<P  align=left>            .SpatialRel = esriSpatialRelEnum.esriSpatialRelRelation(contains也用过)</P>
<P  align=left>            .SpatialRelDescription = "TFT**TFFT" <p></p></P>
<P  align=left>        End With<p></p></P>
<P  align=left>        pCursor = pSelectedClass.Search(pSpatialFilter, False)<p></p></P>
<P >我最终要得到的结果<p></p></P>
<P  align=left>第一个图中的三个要素都被选中 <p></p></P>
<P  align=left>但是没有成功,程序一个要素也没选中,请问是哪里出了毛病啊?<p></p></P>
<P  align=left>多谢!!<p></p></P>
<P>
</P>
喜欢0 评分0
diligentpig
路人甲
路人甲
  • 注册日期2005-09-14
  • 发帖数47
  • QQ
  • 铜币277枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2007-05-22 17:45
<P>我也想知道这个问题的答案,哪位高人指点一下</P>
<P>先谢谢了</P>
举报 回复(0) 喜欢(0)     评分
sunki
路人甲
路人甲
  • 注册日期2004-04-30
  • 发帖数33
  • QQ
  • 铜币50枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2007-05-22 21:03
建议把pPolygon做个小点的缓冲区。
我爱绿色百合!
举报 回复(0) 喜欢(0)     评分
haihunyunpo
路人甲
路人甲
  • 注册日期2005-08-29
  • 发帖数21
  • QQ
  • 铜币206枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2007-05-24 17:09
<P>用.SpatialRel = esriSpatialRelEnum.<STRONG>esriSpatialRelIntersects</STRONG></P>
<P><STRONG>或</STRONG>esriSpatialRelEnum.<STRONG>esriSpatialRelEnvelopeIntersects试试</STRONG></P>
举报 回复(0) 喜欢(0)     评分
diligentpig
路人甲
路人甲
  • 注册日期2005-09-14
  • 发帖数47
  • QQ
  • 铜币277枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2007-05-27 11:50
<P>你的geometry和geometryfield定义说的不清楚。这两个是关键阿。geometry要用总的轮廓</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部