com.supermap.desktop.core.utilties

类 SymbolUtilties

  • java.lang.Object
    • com.supermap.desktop.core.utilties.SymbolUtilties


  • public class SymbolUtilties
    extends java.lang.Object
    • 方法概要

      所有方法 静态方法 具体方法 
      限定符和类型 方法和说明
      static int addSymbol(com.supermap.data.Resources resources, com.supermap.data.SymbolGroup symbolGroup, com.supermap.data.Symbol symbol)
      将符号添加到指定resource中指定的符号库分组中
      static int addSymbol(com.supermap.data.Resources resources, com.supermap.data.SymbolGroup symbolGroup, com.supermap.data.Symbol symbol, boolean fireEvent)
      将符号添加到指定resource中指定的符号库分组中
      static void addSymbolChangedListener(com.supermap.desktop.core.event.SymbolChangedListener symbolChangedListener)
      添加符号改变事件
      static void addSymbolGroupToLibrary(com.supermap.data.SymbolGroup symbolGroup, com.supermap.data.SymbolLibrary targetSymbolLibrary)
      将符号分组添加到目标符号库
      static int addSymbolToLib(com.supermap.data.Symbol symbol, com.supermap.data.SymbolLibrary library)
      将符号添加到符号库 线、面需要考虑使用了内部符号库问题
      static int addToInlineMarkerLib(com.supermap.data.SymbolMarkerLibrary inlineMarkerLib, com.supermap.data.SymbolMarker markerSymbol) 
      static com.supermap.data.Symbol cloneSymbol(com.supermap.data.Symbol source)
      克隆符号对象
      static void deleteSymbolGroup(com.supermap.data.SymbolGroup symbolGroup) 
      static boolean exportFillOutLineLibrary(com.supermap.data.SymbolGroup fillSymbolGroup, com.supermap.data.SymbolLineLibrary lineLibrary, java.lang.String exportPath)
      导出填充符号关联的轮廓线符号
      static void exportInlineMarkerSymbolToFile(int[] inlineMarkersIds, java.lang.String fileName, com.supermap.data.SymbolType symbolType)
      将当前工作空间下指定的符号导出为符号文件
      static void exportSymbolToFile(int[] ids, java.lang.String fileName, com.supermap.data.SymbolType symbolType)
      将当前工作空间下指定的符号导出为符号文件
      static int getAvailableNewID(com.supermap.data.SymbolLibrary library)
      获得可用 符号id
      static java.lang.String getAvailableSymbolGroupName(com.supermap.data.SymbolGroup symbolGroup, java.lang.String groupName)
      获取当前分组下可用的分组名称
      static int getDefaultPointSymbolID(com.supermap.data.Resources resources)
      获取默认的点符号ID。
      static java.util.List<java.lang.Integer> getFillInlineMarkerSymbolFillID(com.supermap.data.GeoStyle geoStyle)
      获取风格所使用的内部符号库面符号风格使用的点符号ID
      static com.supermap.data.SymbolMarker getFirstSymbolMarkerInInlineMarkerLib(com.supermap.data.SymbolMarkerLibrary inlineMarkerLib) 
      static java.util.List<com.supermap.data.Symbol> getGroupSymbols(com.supermap.data.SymbolGroup symbolGroup) 
      static java.util.List<java.lang.Integer> getLineInlineMarkerSymbolFillID(com.supermap.data.GeoStyle geoStyle)
      获取风格所使用的内部符号库线符号风格使用的点符号ID
      static com.supermap.data.SymbolMarker getOrAddSymbolWithInlineMarkerLib(com.supermap.data.SymbolMarkerLibrary inlineMarkerLib, com.supermap.data.SymbolMarker markerSymbol)
      如果内部符号库存在该符号,则返回符号id,不存在则新增并返回符号id
      static int getSymbolFillID(com.supermap.data.GeoStyle geoStyle)
      获取风格所使用的填充符号ID
      static com.supermap.data.SymbolGroup getSymbolGroupBySymbol(com.supermap.data.SymbolGroup symbolGroup, com.supermap.data.Symbol symbol)
      获取当前符号所在的符号分组
      static int getSymbolLineID(com.supermap.data.GeoStyle geoStyle)
      获取风格所使用的线符号ID
      static int getSymbolMarkerID(com.supermap.data.GeoStyle geoStyle)
      获取风格中使用的点符号ID(不包括线、填充符号使用的内点符号ID)
      static void ImportFillLibraryGroup(java.lang.String fileName, boolean isOverride)
      导入指定文件路径的符号库 (仅支持点符号)
      static void importFillOutLineLibrary(com.supermap.data.SymbolFill symbolFill, com.supermap.data.SymbolGroup targetSymbolGroup, com.supermap.data.SymbolLineLibrary outLineLibrary)
      添加填充符号到目标分组中,导入轮廓线符号并重置轮廓ID
      static java.util.Map<java.lang.Integer,java.lang.Integer> importLibraryGroup(java.lang.String fileName, boolean isOverride, java.util.Map<java.lang.Integer,java.lang.Integer> inlineMarkerTable)
      导入指定文件路径的符号库
      static java.util.Map<java.lang.Integer,java.lang.Integer> importLibraryGroup(java.lang.String fileName, com.supermap.desktop.core.styleSetting.ImportRepeatSymbolsType importRepeatSymbolsType, java.util.Map<java.lang.Integer,java.lang.Integer> inlineMarkerTable)
      导入指定文件路径的符号库,默认重复符号跳过
      static java.util.Map<java.lang.Integer,java.lang.Integer> importLibraryGroupToInlineMarker(java.lang.String fileName, boolean isOverride, java.util.Map<java.lang.Integer,java.lang.Integer> inlineMarkerTable, com.supermap.data.SymbolType symbolType)
      导入指定文件路径的符号库到内部符号库
      static void ImportLineLibraryGroup(java.lang.String fileName, boolean isOverride)
      导入指定文件路径的符号库 (仅支持点符号)
      static void ImportMarkerLibraryGroup(java.lang.String fileName, java.lang.Boolean isOverride)
      导入指定文件路径的符号库 (仅支持点符号)
      static boolean isContainsRepeatedIDs(java.lang.String fileName)
      判断当前工作空间下的符号库与指定符号库文件是否存在重复ID的符号
      static boolean isSymbolFillHasOutline(com.supermap.data.SymbolFill symbolFill)
      判断填充符号笔画内是否设置了轮库线,与外部通过GeoStyle添加轮廓线区分一下
      static void loadChartSymbolLib(boolean outputMessage)
      加载海图符号库
      static int plugCopySymbolToLib(com.supermap.data.Symbol symbol, com.supermap.data.SymbolLibrary library)
      将外挂符号库中的符号复制到目标符号库中
      static void removeSymbol(com.supermap.data.Symbol symbol, com.supermap.data.SymbolGroup symbolGroup) 
      static void removeSymbolChangedListener(com.supermap.desktop.core.event.SymbolChangedListener symbolChangedListener)
      移除符号改变事件
      static void unionSymbolGroup(com.supermap.data.SymbolLibrary symbolLibrary, com.supermap.data.SymbolGroup sourceGroup, com.supermap.data.SymbolGroup targetGroup, boolean isDeleteSourceGroup)
      合并两个符号分组下的符号; 将源符号分组下的符号合并到目标符号分组下。
      static void updateGeoStyleSymbolFillID(com.supermap.data.GeoStyle geoStyle, java.util.Map<java.lang.Integer,java.lang.Integer> idTable)
      更新风格所使用的填充符号ID
      static void updateGeoStyleSymbolID(com.supermap.data.GeoStyle geoStyle, com.supermap.data.SymbolType symbolType, java.util.Map<java.lang.Integer,java.lang.Integer> idTable)
      根据符号类型,更新风格所使用的符号ID
      static void updateGeoStyleSymbolLineID(com.supermap.data.GeoStyle geoStyle, java.util.Map<java.lang.Integer,java.lang.Integer> idTable)
      更新风格所使用的线符号ID
      static void updateGeoStyleSymbolMarkerID(com.supermap.data.GeoStyle geoStyle, java.util.Map<java.lang.Integer,java.lang.Integer> idTable)
      更新风格所使用的点符号ID
    • 字段详细资料

      • LIBRARY_MARKER_EXTENSION

        public static final java.lang.String LIBRARY_MARKER_EXTENSION
        另请参阅:
        常量字段值
      • LIBRARY_LINE_EXTENSION

        public static final java.lang.String LIBRARY_LINE_EXTENSION
        另请参阅:
        常量字段值
      • LIBRARY_FILL_EXTENSION

        public static final java.lang.String LIBRARY_FILL_EXTENSION
        另请参阅:
        常量字段值
      • SYSTEM_LINE_SYMBOL_END_ID

        public static final int SYSTEM_LINE_SYMBOL_END_ID
        另请参阅:
        常量字段值
      • SYSTEM_FILL_SYMBOL_END_ID

        public static final int SYSTEM_FILL_SYMBOL_END_ID
        另请参阅:
        常量字段值
    • 构造器详细资料

      • SymbolUtilties

        public SymbolUtilties()
    • 方法详细资料

      • addSymbol

        public static int addSymbol(com.supermap.data.Resources resources,
                                    com.supermap.data.SymbolGroup symbolGroup,
                                    com.supermap.data.Symbol symbol,
                                    boolean fireEvent)
        将符号添加到指定resource中指定的符号库分组中
        参数:
        resources - resource
        symbolGroup - 符号库分组
        symbol - 符号
        fireEvent - 是否发送事件
        返回:
        符号id
      • addSymbol

        public static int addSymbol(com.supermap.data.Resources resources,
                                    com.supermap.data.SymbolGroup symbolGroup,
                                    com.supermap.data.Symbol symbol)
        将符号添加到指定resource中指定的符号库分组中
        参数:
        resources - resource
        symbolGroup - 符号库分组
        symbol - 符号
        返回:
        符号id
      • removeSymbol

        public static void removeSymbol(com.supermap.data.Symbol symbol,
                                        com.supermap.data.SymbolGroup symbolGroup)
      • addSymbolChangedListener

        public static void addSymbolChangedListener(com.supermap.desktop.core.event.SymbolChangedListener symbolChangedListener)
        添加符号改变事件
      • removeSymbolChangedListener

        public static void removeSymbolChangedListener(com.supermap.desktop.core.event.SymbolChangedListener symbolChangedListener)
        移除符号改变事件
      • ImportMarkerLibraryGroup

        public static void ImportMarkerLibraryGroup(java.lang.String fileName,
                                                    java.lang.Boolean isOverride)
        导入指定文件路径的符号库 (仅支持点符号)
      • ImportLineLibraryGroup

        public static void ImportLineLibraryGroup(java.lang.String fileName,
                                                  boolean isOverride)
        导入指定文件路径的符号库 (仅支持点符号)
      • ImportFillLibraryGroup

        public static void ImportFillLibraryGroup(java.lang.String fileName,
                                                  boolean isOverride)
        导入指定文件路径的符号库 (仅支持点符号)
      • importLibraryGroup

        public static java.util.Map<java.lang.Integer,java.lang.Integer> importLibraryGroup(java.lang.String fileName,
                                                                                            boolean isOverride,
                                                                                            java.util.Map<java.lang.Integer,java.lang.Integer> inlineMarkerTable)
        导入指定文件路径的符号库
        参数:
        fileName -
      • importLibraryGroup

        public static java.util.Map<java.lang.Integer,java.lang.Integer> importLibraryGroup(java.lang.String fileName,
                                                                                            com.supermap.desktop.core.styleSetting.ImportRepeatSymbolsType importRepeatSymbolsType,
                                                                                            java.util.Map<java.lang.Integer,java.lang.Integer> inlineMarkerTable)
        导入指定文件路径的符号库,默认重复符号跳过
        参数:
        fileName -
      • importLibraryGroupToInlineMarker

        public static java.util.Map<java.lang.Integer,java.lang.Integer> importLibraryGroupToInlineMarker(java.lang.String fileName,
                                                                                                          boolean isOverride,
                                                                                                          java.util.Map<java.lang.Integer,java.lang.Integer> inlineMarkerTable,
                                                                                                          com.supermap.data.SymbolType symbolType)
        导入指定文件路径的符号库到内部符号库
        参数:
        fileName -
        symbolType - 标志导入线的内部符号库还是面的内部符号库
      • exportSymbolToFile

        public static void exportSymbolToFile(int[] ids,
                                              java.lang.String fileName,
                                              com.supermap.data.SymbolType symbolType)
        将当前工作空间下指定的符号导出为符号文件
        参数:
        ids - 符号ID
        fileName - 符号文件路径
        symbolType - 符号类型
      • exportInlineMarkerSymbolToFile

        public static void exportInlineMarkerSymbolToFile(int[] inlineMarkersIds,
                                                          java.lang.String fileName,
                                                          com.supermap.data.SymbolType symbolType)
        将当前工作空间下指定的符号导出为符号文件
        参数:
        inlineMarkersIds - 符号ID
        fileName - 符号文件路径
      • addSymbolGroupToLibrary

        public static void addSymbolGroupToLibrary(com.supermap.data.SymbolGroup symbolGroup,
                                                   com.supermap.data.SymbolLibrary targetSymbolLibrary)
        将符号分组添加到目标符号库
        参数:
        symbolGroup -
        targetSymbolLibrary -
      • addSymbolToLib

        public static int addSymbolToLib(@NotNull
                                         com.supermap.data.Symbol symbol,
                                         com.supermap.data.SymbolLibrary library)
        将符号添加到符号库 线、面需要考虑使用了内部符号库问题
        参数:
        symbol -
        library -
      • plugCopySymbolToLib

        public static int plugCopySymbolToLib(@NotNull
                                              com.supermap.data.Symbol symbol,
                                              com.supermap.data.SymbolLibrary library)
        将外挂符号库中的符号复制到目标符号库中
        参数:
        symbol -
        library -
      • getOrAddSymbolWithInlineMarkerLib

        public static com.supermap.data.SymbolMarker getOrAddSymbolWithInlineMarkerLib(com.supermap.data.SymbolMarkerLibrary inlineMarkerLib,
                                                                                       com.supermap.data.SymbolMarker markerSymbol)
        如果内部符号库存在该符号,则返回符号id,不存在则新增并返回符号id
        参数:
        inlineMarkerLib -
        markerSymbol -
        返回:
      • getFirstSymbolMarkerInInlineMarkerLib

        public static com.supermap.data.SymbolMarker getFirstSymbolMarkerInInlineMarkerLib(com.supermap.data.SymbolMarkerLibrary inlineMarkerLib)
      • addToInlineMarkerLib

        public static int addToInlineMarkerLib(com.supermap.data.SymbolMarkerLibrary inlineMarkerLib,
                                               com.supermap.data.SymbolMarker markerSymbol)
      • getSymbolMarkerID

        public static int getSymbolMarkerID(com.supermap.data.GeoStyle geoStyle)
        获取风格中使用的点符号ID(不包括线、填充符号使用的内点符号ID)
        参数:
        geoStyle - 风格
        返回:
        点符号ID数组
      • getSymbolLineID

        public static int getSymbolLineID(com.supermap.data.GeoStyle geoStyle)
        获取风格所使用的线符号ID
        参数:
        geoStyle - 风格
        返回:
        线符号ID
      • getSymbolFillID

        public static int getSymbolFillID(com.supermap.data.GeoStyle geoStyle)
        获取风格所使用的填充符号ID
        参数:
        geoStyle - 风格
        返回:
        填充符号ID
      • getFillInlineMarkerSymbolFillID

        public static java.util.List<java.lang.Integer> getFillInlineMarkerSymbolFillID(com.supermap.data.GeoStyle geoStyle)
        获取风格所使用的内部符号库面符号风格使用的点符号ID
        参数:
        geoStyle - 风格
        返回:
        填充符号ID
      • getLineInlineMarkerSymbolFillID

        public static java.util.List<java.lang.Integer> getLineInlineMarkerSymbolFillID(com.supermap.data.GeoStyle geoStyle)
        获取风格所使用的内部符号库线符号风格使用的点符号ID
        参数:
        geoStyle - 风格
        返回:
        填充符号ID
      • updateGeoStyleSymbolMarkerID

        public static void updateGeoStyleSymbolMarkerID(com.supermap.data.GeoStyle geoStyle,
                                                        java.util.Map<java.lang.Integer,java.lang.Integer> idTable)
        更新风格所使用的点符号ID
        参数:
        geoStyle - 风格
        idTable - 新旧符号对照表
      • updateGeoStyleSymbolLineID

        public static void updateGeoStyleSymbolLineID(com.supermap.data.GeoStyle geoStyle,
                                                      java.util.Map<java.lang.Integer,java.lang.Integer> idTable)
        更新风格所使用的线符号ID
        参数:
        geoStyle - 风格
        idTable - 新旧符号对照表
      • updateGeoStyleSymbolFillID

        public static void updateGeoStyleSymbolFillID(com.supermap.data.GeoStyle geoStyle,
                                                      java.util.Map<java.lang.Integer,java.lang.Integer> idTable)
        更新风格所使用的填充符号ID
        参数:
        geoStyle - 风格
        idTable - 新旧符号对照表
      • updateGeoStyleSymbolID

        public static void updateGeoStyleSymbolID(com.supermap.data.GeoStyle geoStyle,
                                                  com.supermap.data.SymbolType symbolType,
                                                  java.util.Map<java.lang.Integer,java.lang.Integer> idTable)
        根据符号类型,更新风格所使用的符号ID
        参数:
        geoStyle - 风格
        symbolType - 符号类型
        idTable - 新旧符号对照表
      • isContainsRepeatedIDs

        public static boolean isContainsRepeatedIDs(java.lang.String fileName)
        判断当前工作空间下的符号库与指定符号库文件是否存在重复ID的符号
        参数:
        fileName - 指定符号库文件
        返回:
        是否重复
      • cloneSymbol

        public static com.supermap.data.Symbol cloneSymbol(com.supermap.data.Symbol source)
        克隆符号对象
        参数:
        source -
        返回:
      • loadChartSymbolLib

        public static void loadChartSymbolLib(boolean outputMessage)
        加载海图符号库
      • getAvailableNewID

        public static int getAvailableNewID(com.supermap.data.SymbolLibrary library)
        获得可用 符号id
        参数:
        library -
        返回:
      • unionSymbolGroup

        public static void unionSymbolGroup(com.supermap.data.SymbolLibrary symbolLibrary,
                                            com.supermap.data.SymbolGroup sourceGroup,
                                            com.supermap.data.SymbolGroup targetGroup,
                                            boolean isDeleteSourceGroup)
        合并两个符号分组下的符号; 将源符号分组下的符号合并到目标符号分组下。
        参数:
        symbolLibrary - 符号库
        sourceGroup - 源符号分组
        targetGroup - 目标符号分组
        isDeleteSourceGroup - 是否删除源符号分组
      • deleteSymbolGroup

        public static void deleteSymbolGroup(com.supermap.data.SymbolGroup symbolGroup)
      • getGroupSymbols

        public static java.util.List<com.supermap.data.Symbol> getGroupSymbols(com.supermap.data.SymbolGroup symbolGroup)
      • isSymbolFillHasOutline

        public static boolean isSymbolFillHasOutline(com.supermap.data.SymbolFill symbolFill)
        判断填充符号笔画内是否设置了轮库线,与外部通过GeoStyle添加轮廓线区分一下
        返回:
      • getDefaultPointSymbolID

        public static int getDefaultPointSymbolID(com.supermap.data.Resources resources)
        获取默认的点符号ID。
        参数:
        resources -
        返回:
      • getSymbolGroupBySymbol

        public static com.supermap.data.SymbolGroup getSymbolGroupBySymbol(com.supermap.data.SymbolGroup symbolGroup,
                                                                           com.supermap.data.Symbol symbol)
        获取当前符号所在的符号分组
        参数:
        symbolGroup -
        symbol -
        返回:
      • importFillOutLineLibrary

        public static void importFillOutLineLibrary(com.supermap.data.SymbolFill symbolFill,
                                                    com.supermap.data.SymbolGroup targetSymbolGroup,
                                                    com.supermap.data.SymbolLineLibrary outLineLibrary)
        添加填充符号到目标分组中,导入轮廓线符号并重置轮廓ID
        参数:
        symbolFill - 填充符号
        targetSymbolGroup - 添加目标分组
        outLineLibrary - 填充符号携带的轮廓线符号库
      • exportFillOutLineLibrary

        public static boolean exportFillOutLineLibrary(com.supermap.data.SymbolGroup fillSymbolGroup,
                                                       com.supermap.data.SymbolLineLibrary lineLibrary,
                                                       java.lang.String exportPath)
        导出填充符号关联的轮廓线符号
        参数:
        fillSymbolGroup - 填充符号分组
        lineLibrary - 轮廓线所保存的线符号库
        exportPath - 导出路径
        返回:
      • getAvailableSymbolGroupName

        public static java.lang.String getAvailableSymbolGroupName(com.supermap.data.SymbolGroup symbolGroup,
                                                                   java.lang.String groupName)
        获取当前分组下可用的分组名称
        参数:
        symbolGroup -
        groupName -
        返回: