Certain geometries cannot be copied and pasted using the JAVA API.
上次发布: August 25, 2014No Product Found
漏洞 ID 编号
NIM008463
已提交
May 1, 2007
上次修改时间
June 5, 2024
适用范围
No Product Found
找到的版本
9.2
修正版本
9.3
状态
Fixed
此漏洞已得到修复。 有关详细信息,请参阅“版本修复”和“其他信息”(如果适用)。
解决办法
There is a simple workaround for it: dump the shape to binary; create a new shape from the binary; and then insert the new shape. ArcGIS desktop uses the same way during copy / past. For instance, in the repro case: case SeColumnDefinition.TYPE_SHAPE: System.out.println(i + ":\t" + colDef.getName() + " : SHAPE" ); SeShape shp = in_srcRow.getShape(i); // in_destRow.setShape(i, shp); int size=shp.getBinarySize(); java.util.ArrayList binArry=shp.asBinary(size+1); SeShape newShape=new SeShape(CoordRef_of_the_Target_Layer) ; byte[] bytes=(byte[])binArry.get(1); newShape.generateFromBinary(bytes); in_destRow.setShape(i, newShape);