首页 / 浏览问题 / 组件GIS / 问题详情
iobjects java 三维专题图风格设置
9EXP 2022年09月14日
使用产品:iobjects java10i   iDesktop 10i(2021)   

操作系统:win10 x64

问题:idesktop桌面应用中的  自定义专题图  风格设置  的x缩放字段    用于设置线线图层中线符号的x方向的缩放比

在组件iobjects  java中类 Theme3DCustom(三维自定义专题图类,该类可以通过字段表达式来动态设置显示的风格)

没有找到相关的属性设置    请问该设置通过组件iobjects  java应该在哪里设置

1个回答

您好,Theme3DCustom类里面有setMarker3DScaleXExpression():设置表示三维模型符号 X 轴方向的缩放比例的字段表达式。

希望可以帮助到您!
2,508EXP 2022年09月14日

您好  我指的是图片里这个  应该不是在专题图Theme3DCustom类里  请问知道是哪个类设置么

您好,在这个在专题图Theme3DCustom类和GeoStyle3D类里面设置效果是一样的。

如果您想直接对线进行XY缩放字段的设置,可以在风格(GeoStyle3D类)里面设置。

GeoStyle3D里的设置是固定值并不指定字段

我在Theme3DCustom中设置  代码如下:

//专题图设置
        Theme3DCustom theme = new Theme3DCustom();
        // 设置表示线型符号编号的字段表达式
        theme.setLineSymbolIDExpression(AddFieldEnum.SYMBOL_ID.getFieldName());
        // 设置表示高度模式的字段表达式。字段值为0表示贴地高度模式,为1表示绝对高度模式,为2表示相对地面高度模式,为3表示相对地下高度模式。当字段值不为0或1或2或3时,采用默认字段值0,即采用贴地高度模式
        theme.setAltitudeModeExpression("1");
        //三维模型符号 X 轴方向的缩放比例
        theme.setMarker3DScaleXExpression(AddFieldEnum.P2.getFieldName());
        // 三维模型符号 Y 轴方向的缩放比例
        theme.setMarker3DScaleYExpression(AddFieldEnum.P1.getFieldName());
        //颜色
        theme.setLineColorExpression(AddFieldEnum.COLOR.getFieldName());
Layer3DDataset add = layers.add(copyDataset, theme, true);

生成场景和专题图   用桌面应用打开   线性符号颜色设置成功  x缩放和高度模式都没有设置成功  且没有缩放效果 

您好,查看了您的代码,关于XY缩放字段,您可以通过将Layer3DDataset.setAdditionalSetting设置三维图层扩展设置信息,在layer3DSetting.setSymbolScaleXField处设置X缩放字段。

或者您还可以通过Theme3D.ToXML的办法获取到xml信息以后,直接修改xml中的高度模式<sml:AltitudeMode>和X缩放字段<sml:ScaleX>。然后再将xml导入回Theme即可。

希望能帮助到您!
...