我在地图上有X层,并且我需要与选定的层(每次2个)相交,并生成结果颜色。
我正在尝试使此代码正常工作
// 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对象一起使用?
我真的找不到在两层之间相交的样本,可惜的是,空间连接只是arcgis桌面功能,我肯定可以使用它们!
最佳答案
我认为您不直接使用IGeometry。但是,如果您知道特殊类型(点,折线,多边形),则可以convert(请参见“ Web ADF到ArcGIS Server ArcObjects”的项目符号)到ArcObjects。
您可以测试ESRI.ArcGIS.ADF.Web.Geometry.Geometry adfFeature
是什么子类型,并相应地进行转换。
顺便说一句,我建议您不要使用“ as”强制转换,因为它会以静默方式失败(仅返回null
)。相反,我建议:
ESRI.ArcGIS.Geometry.IGeometry featureInterface =
(ESRI.ArcGIS.Geometry.IGeometry)adfFeature;
然后,您将在出现问题后立即看到它。
关于c# - 相交两层并获得结果特征,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6901306/