我在地图上有X层,我需要交叉选定的图层(每次两个)和颜色产生的特征。
我正在努力让这段代码正常工作
// get first feature (index 0)
ESRI.ArcGIS.ADF.Web.Geometry.Geometry adfFeature =
m_firstLayer.GeometryFromRow(m_firstLayer.Rows[0])
as ESRI.ArcGIS.ADF.Web.Geometry.Geometry;
// THE FOLLOWING LINE RETURNS NULL
ESRI.ArcGIS.Geometry.IGeometry featureInterface =
adfFeature as ESRI.ArcGIS.Geometry.IGeometry;
ESRI.ArcGIS.Geometry.ITopologicalOperator topoOp =
adfFeature as ESRI.ArcGIS.Geometry.ITopologicalOperator;
如何将IGeometry接口与ADF Geometry对象一起使用?
我无法真正找到样本来交叉两层之间的特征,很可惜Spatial Joins只是一个arcgis桌面功能,我当然可以使用它们!
答案 0 :(得分:1)
我认为您不直接使用IGeometry。但是,如果您知道专用类型(点,折线,多边形),则可以{Arcgers convert(请参阅“Web ADF到ArcGIS Server ArcObjects”项目符号)。
您可以测试ESRI.ArcGIS.ADF.Web.Geometry.Geometry adfFeature
所属的子类型并相应地进行转换。
顺便提一下,我建议你永远不要使用“as”,因为它可以无声地失败(只返回null
)。相反,我建议:
ESRI.ArcGIS.Geometry.IGeometry featureInterface =
(ESRI.ArcGIS.Geometry.IGeometry)adfFeature;
然后,一旦发生问题,您就会立即看到问题。