首页 / 浏览问题 / 组件GIS / 问题详情
arcengine二次开发怎么调用gis的工具
1EXP 2017年05月22日

1个回答

哈喽,请问您具体想用什么GIS工具呢?

如果超图平台有我可以告诉您,比如相关的思路、范例等。
3,389EXP 2017年05月22日
我要做个计算土方量的的小程序,我用VS2012设计了界面,怎么调用ARCGIS的计算土方量的工具?
您好,请问您是基于二维还是三维的呢?
基于二维的

您好,给您介绍一下超图平台的计算土方量的方法吧,用CalculationTerrain(地形计算类。用于计算栅格表面数据(即 DEM 栅格)的坡向、坡度、表面距离、表面面积、表面体积、剖面、填挖方,极值点查找,以及三维晕渲图、三维正射投影影像的生成。)类。

方法是:CalculationTerrain.CutFill 方法,有如下重载:

以下代码示范了如何进行选面填挖方操作,获取填挖方结果信息。示例中输出填挖方的基本结果信息,并返回结果数据集。

private DatasetGrid CalculateCutFillByRegion(DatasetGrid sourceDatasetGrid, GeoRegion geoRegion, Datasource targetDatasource)
{
    //设置结果栅格数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
    String targetDatasetName = "cutFillResult";
    if (targetDatasource.Datasets.Contains(targetDatasetName))
    {
        targetDatasource.Datasets.Delete(targetDatasetName);
    }

    //设置填挖方区域的高程值
    Double baseAltitude = 100.0;

    //调用选面填挖方方法,并获取填挖方结果信息
    CutFillResult cutFillResult = CalculationTerrain.CutFill(sourceDatasetGrid, geoRegion, baseAltitude, targetDatasource, targetDatasetName);

    Double cutArea = cutFillResult.CutArea;
    Double cutVolume = cutFillResult.CutVolume;
    Double fillArea = cutFillResult.FillArea;
    Double fillVolume = cutFillResult.FillVolume;
    Double remainderArea = cutFillResult.RemainderArea;

    DatasetGrid resultDatasetGrid = cutFillResult.CutFillGridResult;

    String result = "挖掘面积:" + cutArea + "\n挖掘体积:" + cutVolume + "\n填充面积:" + fillArea + "\n填充体积:" + fillVolume + "\n未进行填挖方的面积:" + remainderArea;
    MessageBox.Show(result);

    return resultDatasetGrid;
}
师傅这个实在不会,能不能加个QQ,详细请教下
...