我在地图上有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/

10-12 04:33