com.supermap.mapping

类 ThemeUnique

  • 所有已实现的接口:
    IDisposable


    public class ThemeUnique
    extends Theme
    单值专题图类。

    将字段或表达式的值相同的要素采用相同的风格来显示,从而用来区分不同的类别。例如,在表示土地的面数据中表示土地利用类型的字段中有草地,林地,居民地,耕地等值,使用单值专题图进行渲染时,每种类型的土地利用类型被赋予一种颜色或填充风格,从而可以看出每种类型的土地利用的分布区域和范围。可用于地质图、地貌图、植被图、土地利用图、政治行政区划图、自然区划图、经济区划图等。单值专题图着重表示现象质的差别,一般不表示数量的特征。尤其是有交叉或重叠现象时,此类不推荐使用,例如:民族分布区等。

    注意:如果通过连接(Join)或关联(Link)的方式与一个外部表建立了联系,当专题图的专题变量用到外部表的字段时,在显示专题图时,需要调用 Layer.getDisplayFilter()Layer.setDisplayFilter() 方法,否则专题图将出图失败。

    示范代码:
    以下代码示例了如何创建一个单值专题图:
     public void themeUniqueTest() {
            // 打开数据源,获得点数据集ProvinceCapital_P
            Workspace workspace = new Workspace();
            String path = "G:/World/World.udb";
            DatasourceConnectionInfo datasourceConnectionInfo = new DatasourceConnectionInfo(path, "World", "");
            Datasource datasource = workspace.getDatasources().open(datasourceConnectionInfo);
            DatasetVector datasetVector = (DatasetVector) datasource.getDatasets().get("ProvinceCapital_P");
    
            // 构造单值专题图并进行单值子项的风格设置
            ThemeUnique theme = ThemeUnique.makeDefault(datasetVector, "SmID");             
    
            for (int i = 0; i < theme.getCount(); i++) {
                ThemeUniqueItem item = theme.getItem(i);
                item.getStyle().setMarkerSymbolID(0);
                item.getStyle().setMarkerSize(new Size2D(4, 4));
                Color color = new Color(255,255,100 + i);
                item.getStyle().setLineColor(color);
            }
                    
            // 将得到的专题图添加到地图
            MapControl mapControl = new MapControl(workspace);
            Layer layer = mapControl.getMap().getLayers().add(datasetVector, true);
            Layer layerTheme = mapControl.getMap().getLayers().add(datasetVector,
                    theme, true);
    
            // 出图成 JPG 文件
            mapControl.getMap().setImageSize(new java.awt.Dimension(512, 512));
            String outFile = "c:/temp/themeUnique.jpg";
            mapControl.getMap().outputMapToJPG(outFile);
    
            // 释放资源
            mapControl.dispose();
            workspace.dispose();
        }
     
    • 方法概要

      所有方法 静态方法 实例方法 具体方法 
      限定符和类型 方法和说明
      int add(ThemeUniqueItem item)
      添加一个单值专题图子项到单值专题图子项列表中。
      void clear()
      删除所有单值专题图子项。
      int combineGroup(int[] indexs) 
      void dispose()
      释放对象所占用的资源。
      boolean fromXML(String xml)
      根据传入的 XML 字符串重新构造对象。
      String getColorsName()
      获取颜色方案名称
      int getCount()
      返回单值专题图子项个数。
      String getCustomLineColorExpression()
      获取自定义线符号颜色表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的线颜色统一进行显示。
      String getCustomLineMakerIdExpression()
      获取自定义线符号风格表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的符号风格统一进行显示。
      String getCustomLineWidthExpression()
      获取自定义线符号线宽表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的线宽统一进行显示。
      String getCustomMakerColorExpression()
      获取自定义点符号颜色表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的点颜色统一进行显示。
      String getCustomMakerIdExpression()
      获取自定义点符号风格表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的符号风格统一进行显示。
      String getCustomMarkerAngleExpression()
      返回一个字段表达式,该字段表达式用于控制对象对应的点单值题图中点符号的旋转角度,字段表达式中的字段必须为数值型字段。
      String getCustomMarkerSizeExpression()
      返回一个字段表达式,该字段表达式用于控制对象对应的点单值题图中点符号的大小,字段表达式中的字段必须为数值型字段。
      String getCustomRegionBackColorExpression()
      获取自定义面填充背景色表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的填充背景色统一进行显示。
      String getCustomRegionFillSymbolExpression()
      获取自定义面填充风格表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的填充风格统一进行显示。
      String getCustomRegionForeColorExpression()
      获取自定义面填充前景色表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的填充前景色统一进行显示。
      String getCustomTransparentExpression()
      获取自定义透明度表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的透明度统一进行显示。
      GeoStyle getDefaultStyle()
      返回单值专题图的默认风格。
      ThemeUniqueItem getItem(int index)
      返回指定序号的单值专题图子项。
      ThemeUniqueMateMode getMateMode()
      获取自定义风格表达式的匹配模式,默认为ID匹配。
      String getOffsetX()
      返回点、线、面图层制作的单值专题图中的对象相对于原来位置的水平偏移量。
      String getOffsetY()
      返回点、线、面图层制作的单值专题图中的对象相对于原来位置的垂直偏移量。
      String getTrafficConditionExpress()
      获取制作路况字段表达式
      double getTrafficConditionOffset()
      获取制作路况的偏移量
      String getUniqueExpression()
      单值专题图字段表达式。
      int indexOf(String unique)
      返回单值专题图中指定子项单值在当前序列中的序号。
      boolean insert(int index, ThemeUniqueItem item)
      将给定的单值专题图子项插入到指定序号的位置。
      boolean isDefaultStyleVisible()
      返回单值专题图默认风格是否可见。
      boolean isOffsetFixed()
      返回True表示采用设备单位,否则采用地理坐标单位。
      static ThemeUnique makeDefault(DatasetVector dataset, String uniqueExpression)
      根据给定的矢量数据集和单值专题图字段表达式生成默认的单值专题图。
      static ThemeUnique makeDefault(DatasetVector dataset, String uniqueExpression, ColorGradientType colorGradientType)
      根据给定的矢量数据集、单值专题图字段表达式和颜色渐变模式生成默认的单值专题图。
      static ThemeUnique makeDefault(DatasetVector dataset, String uniqueExpression, ColorGradientType colorGradientType, JoinItems joinItems)
      根据给定的矢量数据集、单值专题图字段表达式、颜色渐变模式和外部表连接项生成默认的单值专题图。
      static ThemeUnique makeDefault(DatasetVector dataset, String colorField, Colors colors)
      根据指定的面数据集、颜色字段名称、颜色生成默认的四色单值专题图。
      static ThemeUnique makeDefault(String[] values, String uniqueExpression, ColorGradientType colorGradientType, JoinItems joinItems)
      根据给定单值、单值专题图字段表达式、颜色渐变模式和外部表连接项生成默认的单值专题图。
      boolean remove(int index)
      删除一个指定序号的单值专题图子项。
      void reverseStyle()
      对单值专题图中子项的风格进行反序显示。
      void setColorsName(String value)
      设置颜色方案名称
      void setCustomLineColorExpression(String value)
      设置自定义线符号颜色表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的线颜色统一进行显示。
      void setCustomLineMakerIdExpression(String value)
      设置自定义线符号风格表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的符号风格统一进行显示。
      void setCustomLineWidthExpression(String value)
      设置自定义线符号线宽表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的线宽统一进行显示。
      void setCustomMakerColorExpression(String value)
      设置自定义点符号颜色表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的点颜色统一进行显示。
      void setCustomMakerIdExpression(String value)
      设置自定义点符号风格表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的符号风格统一进行显示。
      void setCustomMarkerAngleExpression(String value)
      设置一个字段表达式,该字段表达式用于控制对象对应的点单值题图中点符号的旋转角度,字段表达式中的字段必须为数值型字段。
      void setCustomMarkerSizeExpression(String value)
      设置一个字段表达式,该字段表达式用于控制对象对应的点单值题图中点符号的大小,字段表达式中的字段必须为数值型字段。
      void setCustomRegionBackColorExpression(String value)
      设置自定义面填充背景色表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的填充背景色统一进行显示。
      void setCustomRegionFillSymbolExpression(String value)
      获取自定义面填充风格表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的填充风格统一进行显示。
      void setCustomRegionForeColorExpression(String value)
      设置自定义面填充前景色表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的填充前景色统一进行显示。
      void setCustomTransparentExpression(String value)
      设置自定义透明度表达式 通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的透明度统一进行显示。
      void setDefaultStyle(GeoStyle style)
      设置单值专题图的默认风格。
      void setDefaultStyleVisible(boolean value)
      设置单值专题图默认风格是否可见。
      void setMateMode(ThemeUniqueMateMode mateMode)
      设置自定义风格表达式的匹配模式,默认为ID匹配。
      void setOffsetFixed(boolean value)
      参数为True表示采用设备单位,否则采用地理坐标单位。
      void setOffsetX(String value)
      设置点、线、面图层制作的单值专题图中的对象相对于原来位置的水平偏移量。
      void setOffsetY(String value)
      设置点、线、面图层制作的单值专题图中的对象相对于原来位置的垂直偏移量。
      void setTrafficConditionExpress(String value)
      设置制作路况字段表达式
      void setTrafficConditionOffset(double value)
      设置制作路况的偏移量
      void setUniqueExpression(String value)
      设置单值专题图字段表达式。
      int[] splitGroup(int parentIndex)
      拆分
      String toString()
      输出一个字符串来表达当前单值专题图对象
      • 从类继承的方法 com.supermap.data.InternalHandleDisposable

        makeSureNativeObjectLive
    • 构造器详细资料

      • ThemeUnique

        public ThemeUnique()
        默认构造函数,构造一个新的 ThemeUnique 对象。
      • ThemeUnique

        public ThemeUnique(ThemeUnique themeUnique)
        拷贝构造函数,根据给定的 ThemeUnique 对象构造一个与其完全相同的新对象。
        参数:
        themeUnique - 给定的单值专题图对象。
    • 方法详细资料

      • getItem

        public ThemeUniqueItem getItem(int index)
        返回指定序号的单值专题图子项。
        参数:
        index - 指定的单值专题图子项的序号。
        返回:
        指定序号的单值专题图子项。
      • getCount

        public int getCount()
        返回单值专题图子项个数。
        返回:
        单值专题图子项个数。
        默认值:
        默认值为 0。
      • getUniqueExpression

        public String getUniqueExpression()
        单值专题图字段表达式。用于制作单值专题图的字段或字段表达式。该字段可以为要素的某一属性(如地质图中的年代或成份),其值的数据类型可以为数值型或字符型。
        返回:
        单值专题图字段表达式。
        默认值:
        默认值为一个空字符串。
      • setUniqueExpression

        public void setUniqueExpression(String value)
        设置单值专题图字段表达式。用于制作单值专题图的字段或字段表达式。该字段可以为要素的某一属性(如地质图中的年代或成份),其值的数据类型可以为数值型或字符型。
        参数:
        value - 指定单值专题图字段表达式。
      • getDefaultStyle

        public GeoStyle getDefaultStyle()
        返回单值专题图的默认风格。对于那些未在单值专题图子项之列的对象使用该风格显示。如未设置,则使用图层默认风格显示。
        返回:
        单值专题图的默认风格。
        默认值:
        默认值为{FillBackColor=Color [A=255, R=255, G=255, B=255],FillForeColor=Color [A=255, R=189, G=235, B=255],FillGradientAngle=0,FillGradientMode=None,FillGradientOffsetRatioX=0,FillGradientOffsetRatioY=0,FillOpaqueRate=100,FillSymbolID=0,LineColor=Color [A=255, R=0, G=0, B=0],LineSymbolID=0,LineWidth=0.1,MarkerAngle=0,MarkerSize={Width=2.4,Height=-1},MarkerSymbolID=0}。
      • setDefaultStyle

        public void setDefaultStyle(GeoStyle style)
        设置单值专题图的默认风格。对于那些未在单值专题图子项之列的对象使用该风格显示。如未设置,则使用图层默认风格显示。
        参数:
        style - 指定单值专题图的默认风格。
      • getCustomMarkerSizeExpression

        public String getCustomMarkerSizeExpression()
        返回一个字段表达式,该字段表达式用于控制对象对应的点单值题图中点符号的大小,字段表达式中的字段必须为数值型字段。

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的大小统一显示。

        该项设置仅对点单值专题图有效。

        返回:
        返回一个字段表达式。
      • setCustomMarkerSizeExpression

        public void setCustomMarkerSizeExpression(String value)
        设置一个字段表达式,该字段表达式用于控制对象对应的点单值题图中点符号的大小,字段表达式中的字段必须为数值型字段。

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的大小统一显示。

        该项设置仅对点单值专题图有效。

        参数:
        value - 返回一个字段表达式。可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的大小统一显示。
      • getCustomMakerColorExpression

        public String getCustomMakerColorExpression()
        获取自定义点符号颜色表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的点颜色统一进行显示。

        该项设置仅对点单值专题图有效。

        返回:
        自定义点符号颜色表达式
        抛出:
        IllegalStateException - 当前对象已被释放
      • setCustomMakerColorExpression

        public void setCustomMakerColorExpression(String value)
        设置自定义点符号颜色表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的点颜色统一进行显示。

        该项设置仅对点单值专题图有效。

        参数:
        value - 自定义点符号颜色表达式
        抛出:
        IllegalStateException - 当前对象已被释放
        IllegalArgumentException - 参数异常
      • getCustomLineColorExpression

        public String getCustomLineColorExpression()
        获取自定义线符号颜色表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的线颜色统一进行显示。

        该项设置仅对线单值专题图有效。

        返回:
        自定义线符号颜色表达式
        抛出:
        IllegalStateException - 当前对象已被释放
      • setCustomLineColorExpression

        public void setCustomLineColorExpression(String value)
        设置自定义线符号颜色表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的线颜色统一进行显示。

        该项设置仅对线单值专题图有效。

        参数:
        value - 自定义线符号颜色表达式
        抛出:
        IllegalStateException - 当前对象已被释放
        IllegalArgumentException - 参数异常
      • getCustomLineWidthExpression

        public String getCustomLineWidthExpression()
        获取自定义线符号线宽表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的线宽统一进行显示。

        该项设置仅对线单值专题图有效。

        返回:
        自定义线符号线宽表达式
        抛出:
        IllegalStateException - 当前对象已被释放
      • setCustomLineWidthExpression

        public void setCustomLineWidthExpression(String value)
        设置自定义线符号线宽表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的线宽统一进行显示。

        该项设置仅对线单值专题图有效。

        参数:
        value - 自定义线符号线宽表达式
        抛出:
        IllegalStateException - 当前对象已被释放
        IllegalArgumentException - 参数异常
      • getCustomMakerIdExpression

        public String getCustomMakerIdExpression()
        获取自定义点符号风格表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的符号风格统一进行显示。

        该项设置仅对点单值专题图有效。

        返回:
        自定义点符号风格表达式
        抛出:
        IllegalStateException - 当前对象已被释放
      • setCustomMakerIdExpression

        public void setCustomMakerIdExpression(String value)
        设置自定义点符号风格表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的符号风格统一进行显示。

        该项设置仅对点单值专题图有效。

        参数:
        value - 自定义点符号风格表达式
        抛出:
        IllegalStateException - 当前对象已被释放
        IllegalArgumentException - 参数异常
      • getCustomLineMakerIdExpression

        public String getCustomLineMakerIdExpression()
        获取自定义线符号风格表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的符号风格统一进行显示。

        该项设置仅对线单值专题图有效。

        返回:
        自定义线符号风格表达式
        抛出:
        IllegalStateException - 当前对象已被释放
      • setCustomLineMakerIdExpression

        public void setCustomLineMakerIdExpression(String value)
        设置自定义线符号风格表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的符号风格统一进行显示。

        该项设置仅对线单值专题图有效。

        参数:
        value - 自定义线符号风格表达式
        抛出:
        IllegalStateException - 当前对象已被释放
        IllegalArgumentException - 参数异常
      • getCustomMarkerAngleExpression

        public String getCustomMarkerAngleExpression()
        返回一个字段表达式,该字段表达式用于控制对象对应的点单值题图中点符号的旋转角度,字段表达式中的字段必须为数值型字段。

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的角度统一进行旋转。

        该项设置仅对点单值专题图有效。

        返回:
        返回一个字段表达式。
      • setCustomMarkerAngleExpression

        public void setCustomMarkerAngleExpression(String value)
        设置一个字段表达式,该字段表达式用于控制对象对应的点单值题图中点符号的旋转角度,字段表达式中的字段必须为数值型字段。

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的角度统一进行旋转。

        该项设置仅对点单值专题图有效。

        参数:
        value - 返回一个字段表达式。可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的角度统一进行旋转。
      • getCustomTransparentExpression

        public String getCustomTransparentExpression()
        获取自定义透明度表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的透明度统一进行显示。

        该项设置仅对面单值专题图有效。

        返回:
        自定义透明度表达式
        抛出:
        IllegalStateException - 当前对象已被释放
      • setCustomTransparentExpression

        public void setCustomTransparentExpression(String value)
        设置自定义透明度表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的透明度统一进行显示。

        该项设置仅对面单值专题图有效。

        参数:
        value - 自定义透明度表达式
        抛出:
        IllegalStateException - 当前对象已被释放
        IllegalArgumentException - 参数异常
      • getCustomRegionFillSymbolExpression

        public String getCustomRegionFillSymbolExpression()
        获取自定义面填充风格表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的填充风格统一进行显示。

        该项设置仅对面单值专题图有效。

        返回:
        自定义面填充风格表达式
        抛出:
        IllegalStateException - 当前对象已被释放
      • setCustomRegionFillSymbolExpression

        public void setCustomRegionFillSymbolExpression(String value)
        获取自定义面填充风格表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的填充风格统一进行显示。

        该项设置仅对面单值专题图有效。

        参数:
        value - 自定义面填充风格表达式
        抛出:
        IllegalStateException - 当前对象已被释放
        IllegalArgumentException - 参数异常
      • getCustomRegionForeColorExpression

        public String getCustomRegionForeColorExpression()
        获取自定义面填充前景色表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的填充前景色统一进行显示。

        该项设置仅对面单值专题图有效。

        返回:
        自定义面填充前景色表达式
        抛出:
        IllegalStateException - 当前对象已被释放
      • setCustomRegionForeColorExpression

        public void setCustomRegionForeColorExpression(String value)
        设置自定义面填充前景色表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的填充前景色统一进行显示。

        该项设置仅对面单值专题图有效。

        参数:
        value - 自定义面填充前景色表达式
        抛出:
        IllegalStateException - 当前对象已被释放
        IllegalArgumentException - 参数异常
      • getCustomRegionBackColorExpression

        public String getCustomRegionBackColorExpression()
        获取自定义面填充背景色表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的填充背景色统一进行显示。

        该项设置仅对面单值专题图有效。

        返回:
        自定义面填充背景色表达式
        抛出:
        IllegalStateException - 当前对象已被释放
      • setCustomRegionBackColorExpression

        public void setCustomRegionBackColorExpression(String value)
        设置自定义面填充背景色表达式

        通过该接口可以指定一个字段也可以指定一个字段表达式;还可以指定一个数值,此时所有专题图子项将以数值指定的填充背景色统一进行显示。

        该项设置仅对面单值专题图有效。

        参数:
        value - 自定义面填充背景色表达式
        抛出:
        IllegalStateException - 当前对象已被释放
        IllegalArgumentException - 参数异常
      • getColorsName

        public String getColorsName()
        获取颜色方案名称
        返回:
        颜色方案名称
        抛出:
        IllegalStateException - 当前对象已被释放
      • add

        public int add(ThemeUniqueItem item)
        添加一个单值专题图子项到单值专题图子项列表中。
        参数:
        item - 将被添加的单值专题图子项。
        返回:
        如果添加成功返回被添加子项在序列中的序号,否则返回 -1。
        示范代码:
        以下代码示范了如何添加单值专题图子项到单值专题图中。
         public int addTest() {
                // 实例化单值专题图子项,并进行对象设置
                ThemeUnique theme = new ThemeUnique();
                ThemeUniqueItem item = new ThemeUniqueItem();
                item.setCaption("Caption");
                item.setVisible(false);
                item.setUnique("Unique");
        
                // 添加单值专题图子项
                theme.add(item);
        
                // 返回单值专题图子项个数
                return (theme.getCount());
        
            }
      • insert

        public boolean insert(int index,
                              ThemeUniqueItem item)
        将给定的单值专题图子项插入到指定序号的位置。
        参数:
        index - 指定的单值专题图子项序列的序号。
        item - 将被插入的单值专题图子项。
        返回:
        如果插入成功返回 true,否则返回 false。
      • remove

        public boolean remove(int index)
        删除一个指定序号的单值专题图子项。
        参数:
        index - 指定的将被删除的单值专题图子项序列的序号。
        返回:
        如果删除成功,返回 true;否则返回 false。
      • clear

        public void clear()
        删除所有单值专题图子项。执行该方法后,所有的单值专题图子项都被释放,不再可用。
      • makeDefault

        public static ThemeUnique makeDefault(DatasetVector dataset,
                                              String uniqueExpression)
        根据给定的矢量数据集和单值专题图字段表达式生成默认的单值专题图。
        参数:
        dataset - 给定的矢量数据集。
        uniqueExpression - 单值专题图字段表达式。
        返回:
        根据参数构造得到一个新的单值专题图类的对象实例。
      • makeDefault

        public static ThemeUnique makeDefault(DatasetVector dataset,
                                              String uniqueExpression,
                                              ColorGradientType colorGradientType)
        根据给定的矢量数据集、单值专题图字段表达式和颜色渐变模式生成默认的单值专题图。
        参数:
        dataset - 给定的矢量数据集。
        uniqueExpression - 单值专题图字段表达式。
        colorGradientType - 颜色渐变模式。
        返回:
        根据参数构造得到一个新的单值专题图类的对象实例。
        示范代码:
        以下示例根据给定的矢量数据集、单值专题图字段表达式和颜色渐变模式生成默认的单值专题图。
         public void makeDefaultTest() {
                // 打开数据源,得到给定World名称的数据集datasetVector
                Workspace workspace = new Workspace();
                String path = "G:/World/World.udb";
                DatasourceConnectionInfo datasourceConnectionInfo = new DatasourceConnectionInfo(path, "World", "");
                Datasource datasource = workspace.getDatasources().open(datasourceConnectionInfo);
                DatasetVector datasetVector = (DatasetVector) datasource.getDatasets().get("World");
        
                // 生成默认的单值专题图
                ThemeUnique theme = new ThemeUnique();
                theme = ThemeUnique.makeDefault(datasetVector, "SmID",ColorGradientType.YELLOWRED);
        
                // 添加到图层显示
                MapControl mapControl = new MapControl(workspace);
                Layer layer = mapControl.getMap().getLayers().add(datasetVector, theme, true);
                mapControl.getMap().refresh();
        
                // 释放资源
                mapControl.dispose();
                workspace.dispose();
        
            }
      • makeDefault

        public static ThemeUnique makeDefault(DatasetVector dataset,
                                              String uniqueExpression,
                                              ColorGradientType colorGradientType,
                                              JoinItems joinItems)
        根据给定的矢量数据集、单值专题图字段表达式、颜色渐变模式和外部表连接项生成默认的单值专题图。

        注意:通过连接外部表的方式制作专题图时,对于 UDB 数据源,连接类型不支持内连接,即不支持 JoinType.INNERJOIN 连接类型。

        参数:
        dataset - 给定的矢量数据集。
        uniqueExpression - 单值专题图字段表达式。
        colorGradientType - 颜色渐变模式。
        joinItems - 外部表连接项。

        如果要将制作的专题图添加到地图中,作为地图中的图层,需要对该专题图图层进行以下设置,通过该专题图图层对应的 Layer 对象的 setDisplayFilter 方法,该方法中的 queryParameter 参数为 QueryParameter 对象,这里需要通过 QueryParameter 对象的 setJoinItems 方法,将专题的外部表连接项(即当前方法的 joinItems参数)指定给该专题图图层对应的 Layer 对象,这样所做的专题图在地图中显示才正确。

        返回:
        根据参数构造得到一个新的单值专题图类的对象实例。
      • makeDefault

        public static ThemeUnique makeDefault(DatasetVector dataset,
                                              String colorField,
                                              Colors colors)
        根据指定的面数据集、颜色字段名称、颜色生成默认的四色单值专题图。

        四色单值专题图是指在一幅地图上,只用四种颜色就能使具有公共边的面对象着上不同的颜色。

        生成四色单值专题图的输入数据必须满足,二维平面不存在交叉直线,只存在共点直线。

        注意:对于面数据集复杂度低的情形下,采用四种颜色即可生成四色单值专题图;若面数据集复杂度高,则着色结果可能为五色。

        参数:
        dataset - 指定的面数据集。由于该构造函数将修改面数据集的属性信息,因此,需保证 dataset 为非只读。
        colorField - 着色字段的名称。着色字段必须为整型字段。它可以为面数据集中已有属性字段,也可以是自定义的其它字段。若为已存在属性字段,需保证该字段类型为整型,系统将修改该字段的属性值,并分别赋值为1、2、3、4;若为自定义的其它字段,需保证字段名合法,则系统首先在面数据集中创建该字段,并分别赋值为1、2、3、4。由此,着色字段已分别赋值为1、2、3、4,代表着四种不同的颜色,根据该字段的值即可生成四色专题图。
        colors - 用户传入的用来制作专题图的颜色。系统对传入颜色的数目不做规定,比如,用户只传入了一种颜色,则在生成专题图时,系统会自动补齐出图所需的颜色。
        返回:
        生成的四色单值专题图。
      • makeDefault

        public static ThemeUnique makeDefault(String[] values,
                                              String uniqueExpression,
                                              ColorGradientType colorGradientType,
                                              JoinItems joinItems)
        根据给定单值、单值专题图字段表达式、颜色渐变模式和外部表连接项生成默认的单值专题图。
        参数:
        values - 单值
        uniqueExpression - 单值专题图字段表达式
        colorGradientType - 颜色渐变模式
        joinItems - 外部表连接项
        返回:
        生成的单值专题图
        抛出:
        IllegalStateException - 当前对象已被释放
      • indexOf

        public int indexOf(String unique)
        返回单值专题图中指定子项单值在当前序列中的序号。
        参数:
        unique - 给定的单值专题图子项单值。
        返回:
        专题图子项在序列中的序号值。如果该值不存在,就返回-1。
      • reverseStyle

        public void reverseStyle()
        对单值专题图中子项的风格进行反序显示。
      • toString

        public String toString()
        输出一个字符串来表达当前单值专题图对象
        指定者:
        toString 在类中 Theme
        返回:
        描述单值专题图对象的字符串。
      • dispose

        public void dispose()
        释放对象所占用的资源。调用该方法之后,此对象不再可用。
      • fromXML

        public boolean fromXML(String xml)
        根据传入的 XML 字符串重新构造对象。
        覆盖:
        fromXML 在类中 Theme
        参数:
        xml - 传入的 XML 字符串。
        返回:
        如果构造成功返回 true,否则返回 false。
      • setDefaultStyleVisible

        public void setDefaultStyleVisible(boolean value)
        设置单值专题图默认风格是否可见。
        参数:
        value - 单值专题图默认风格是否可见。
      • isDefaultStyleVisible

        public boolean isDefaultStyleVisible()
        返回单值专题图默认风格是否可见。
        返回:
        单值专题图默认风格是否可见。
      • getOffsetX

        public String getOffsetX()
        返回点、线、面图层制作的单值专题图中的对象相对于原来位置的水平偏移量。

        偏移量的单位由 isOffsetFixed()的设置决定,参数为True表示采用设备单位,否则采用地理坐标单位。

        返回:
        点、线、面图层制作的单值专题图中的对象相对于原来位置的水平偏移量。
      • setOffsetX

        public void setOffsetX(String value)
        设置点、线、面图层制作的单值专题图中的对象相对于原来位置的水平偏移量。

        偏移量的单位由 isOffsetFixed()的设置决定,参数为True表示采用设备单位,否则采用地理坐标单位。

        参数:
        value - 点、线、面图层制作的单值专题图中的对象相对于原来位置的水平偏移量。
        示范代码:
        以下代码示范了如何设置单值专题图中对象的水平偏移量。
         public void OffsetXTest()
                {
                  // 打开数据源,得到给定World名称的数据集datasetVector
                Workspace workspace = new Workspace();
                String path = "G:/World/World.udb";
                DatasourceConnectionInfo datasourceConnectionInfo = new DatasourceConnectionInfo(path, "World", "");
                Datasource datasource = workspace.getDatasources().open(datasourceConnectionInfo);
                DatasetVector datasetVector = (DatasetVector) datasource.getDatasets().get("World");
        
                // 生成默认的单值专题图
                ThemeUnique theme = new ThemeUnique();
                theme = ThemeUnique.makeDefault(datasetVector, "SmID",ColorGradientType.YELLOWRED);
                
                //设置单值专题图中对象的水平偏移量
                theme.setOffsetX("10000");
        
                // 添加到图层显示
                MapControl mapControl = new MapControl(workspace);
                Layer layer = mapControl.getMap().getLayers().add(datasetVector, theme, true);
                mapControl.getMap().refresh();
        
                // 释放资源
                mapControl.dispose();
                workspace.dispose();
        
            }
      • getOffsetY

        public String getOffsetY()
        返回点、线、面图层制作的单值专题图中的对象相对于原来位置的垂直偏移量。

        偏移量的单位由 isOffsetFixed()的设置决定,参数为True表示采用设备单位,否则采用地理坐标单位。

        返回:
        点、线、面图层制作的单值专题图中的对象相对于原来位置的垂直偏移量。
      • setOffsetY

        public void setOffsetY(String value)
        设置点、线、面图层制作的单值专题图中的对象相对于原来位置的垂直偏移量。

        偏移量的单位由 isOffsetFixed()的设置决定,参数为True表示采用设备单位,否则采用地理坐标单位。

        参数:
        value - 点、线、面图层制作的单值专题图中的对象相对于原来位置的垂直偏移量。
        示范代码:
        以下代码示范了如何设置单值专题图中对象的垂直偏移量。
         public void OffsetYTest()
                {
                  // 打开数据源,得到给定World名称的数据集datasetVector
                Workspace workspace = new Workspace();
                String path = "G:/World/World.udb";
                DatasourceConnectionInfo datasourceConnectionInfo = new DatasourceConnectionInfo(path, "World", "");
                Datasource datasource = workspace.getDatasources().open(datasourceConnectionInfo);
                DatasetVector datasetVector = (DatasetVector) datasource.getDatasets().get("World");
        
                // 生成默认的单值专题图
                ThemeUnique theme = new ThemeUnique();
                theme = ThemeUnique.makeDefault(datasetVector, "SmID",ColorGradientType.YELLOWRED);
                
                //设置单值专题图中对象的垂直偏移量
                theme.setOffsetY("10000");
        
                // 添加到图层显示
                MapControl mapControl = new MapControl(workspace);
                Layer layer = mapControl.getMap().getLayers().add(datasetVector, theme, true);
                mapControl.getMap().refresh();
        
                // 释放资源
                mapControl.dispose();
                workspace.dispose();
        
            }
      • isOffsetFixed

        public boolean isOffsetFixed()
        返回True表示采用设备单位,否则采用地理坐标单位。
        返回:
        是否固定偏移量。
      • setOffsetFixed

        public void setOffsetFixed(boolean value)
        参数为True表示采用设备单位,否则采用地理坐标单位。
        参数:
        value - 是否采用设备单位
      • getTrafficConditionOffset

        public double getTrafficConditionOffset()
        获取制作路况的偏移量
        返回:
        制作路况的偏移量
        抛出:
        IllegalStateException - 当前对象已被释放
      • setTrafficConditionOffset

        public void setTrafficConditionOffset(double value)
        设置制作路况的偏移量
        参数:
        value - 制作路况的偏移量
        抛出:
        IllegalStateException - 当前对象已被释放
      • getTrafficConditionExpress

        public String getTrafficConditionExpress()
        获取制作路况字段表达式
        返回:
        制作路况字段表达式
        抛出:
        IllegalStateException - 当前对象已被释放
      • setTrafficConditionExpress

        public void setTrafficConditionExpress(String value)
        设置制作路况字段表达式
        参数:
        value - 制作路况字段表达式
        抛出:
        IllegalStateException - 当前对象已被释放
      • combineGroup

        public int combineGroup(int[] indexs)
        参数:
        indexs -
        返回:
        返回组index
      • splitGroup

        public int[] splitGroup(int parentIndex)
        拆分
        参数:
        parentIndex - 组序号
        返回:

Copyright © 2021–2024 SuperMap. All rights reserved.