首頁 / 浏覽問題 / 組件GIS / 問題詳情
iObject java 中三維面土方量計算方法是(shì)否有不(bù)存儲結果數據集的(de)辦法?
18EXP 2021年07月23日

您好,我在(zài)進行iObject java組件開發過程中,需要(yào / yāo)批量調用三維面挖填方計算cutFill這(zhè)一(yī / yì /yí)方法,目前,這(zhè)個(gè)方法必須要(yào / yāo)提供一(yī / yì /yí)個(gè)datasouce來(lái)存儲三維面計算的(de)結果。我這(zhè)邊的(de)程序處于(yú)計算效率考慮,不(bù)需要(yào / yāo)存儲計算結果,隻需要(yào / yāo)挖方體積,面積等這(zhè)類的(de)計算結果,請問您這(zhè)邊是(shì)否有什麽比較推薦的(de)方法來(lái)解決這(zhè)個(gè)問題呢?

這(zhè)個(gè)三維面的(de)cutFill方法是(shì)否可以(yǐ)在(zài)輸入的(de)時(shí)候直接把targetDatasource賦空值呢?或者您這(zhè)邊有其他(tā)解決辦法的(de)建議也(yě)可以(yǐ),謝謝!

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

此外,我在(zài)獲取大(dà)分辨率dem的(de)過程中還遇到(dào)一(yī / yì /yí)個(gè)問題,就(jiù)是(shì)我想獲取到(dào)一(yī / yì /yí)張dem裏面總計的(de)行數和(hé / huò)列數,但是(shì)當我直接調用超圖的(de)DatasetGrid類中getColumnBlockCount()和(hé / huò)getRowBlockCount()這(zhè)兩個(gè)方法,獲取到(dào)的(de)是(shì)分塊後的(de)行數和(hé / huò)列數,但是(shì)直接與分塊數相乘後,可能由于(yú)非整數的(de)問題,與超圖iDesktop中直接查看DEM屬性中查到(dào)的(de)行列數并不(bù)相同。請問在(zài)組件開發中,是(shì)否有什麽方法直接能獲取到(dào)DEM的(de)總行數和(hé / huò)總列數呢?謝謝!

1個(gè)回答

你好,1.首先三維面填挖方接口的(de)目标數據集、目标數據源是(shì)必填參數,也(yě)就(jiù)意味着有結果數據集生成;或者使用二維面+高程的(de)方式進行填挖方,這(zhè)樣沒有結果數據集生;2.分塊後的(de)行列。當最後幾行或者幾列不(bù)滿一(yī / yì /yí)塊時(shí)也(yě)會按一(yī / yì /yí)塊計算。所以(yǐ)分塊後的(de)行列數*分塊數可能與總列數不(bù)相等。您可以(yǐ)用getHeight()和(hé / huò)getWidth()獲取總的(de)行列數
2,842EXP 2021年07月26日
...