首页 / 浏览问题 / 组件GIS / 问题详情
iObject java 中三维面土方量计算方法是否有不存储结果数据集的办法?
18EXP 2021年07月23日

您好,我在进行iObject java组件开发过程中,需要批量调用三维面挖填方计算cutFill这一方法,目前,这个方法必须要提供一个datasouce来存储三维面计算的结果。我这边的程序处于计算效率考虑,不需要存储计算结果,只需要挖方体积,面积等这类的计算结果,请问您这边是否有什么比较推荐的方法来解决这个问题呢?

这个三维面的cutFill方法是否可以在输入的时候直接把targetDatasource赋空值呢?或者您这边有其他解决办法的建议也可以,谢谢!

cutFill(DatasetGrid sourceDatasetGrid, GeoRegion3D region3D, Datasource targetDatasource, java.lang.String targetDatasetName)
          三维面填挖方计算。

此外,我在获取大分辨率dem的过程中还遇到一个问题,就是我想获取到一张dem里面总计的行数和列数,但是当我直接调用超图的DatasetGrid类中getColumnBlockCount()和getRowBlockCount()这两个方法,获取到的是分块后的行数和列数,但是直接与分块数相乘后,可能由于非整数的问题,与超图iDesktop中直接查看DEM属性中查到的行列数并不相同。请问在组件开发中,是否有什么方法直接能获取到DEM的总行数和总列数呢?谢谢!

1个回答

你好,1.首先三维面填挖方接口的目标数据集、目标数据源是必填参数,也就意味着有结果数据集生成;或者使用二维面+高程的方式进行填挖方,这样没有结果数据集生;2.分块后的行列。当最后几行或者几列不满一块时也会按一块计算。所以分块后的行列数*分块数可能与总列数不相等。您可以用getHeight()和getWidth()获取总的行列数
2,842EXP 2021年07月26日
...