3

我在地图上有 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 几何对象一起使用?

我真的找不到样本来在两层之间交叉特征,可惜空间连接只是一个 arcgis 桌面功能,我当然可以使用它们!

4

1 回答 1

1

我不认为你直接使用 IGeometry 。但是,如果您知道特定类型(点、折线、多边形),则可以(参见“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;

然后,您将在问题发生时立即看到问题。

于 2011-08-03T11:30:51.123 回答