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 addSymbolToLib(com.supermap.data.Symbol symbol, com.supermap.data.SymbolLibrary library, boolean isUpdateInLineMarkerId)
      将符号添加到符号库 线、面需要考虑使用了内部符号库问题
      static int addToInlineMarkerLib(com.supermap.data.SymbolMarkerLibrary inlineMarkerLib, com.supermap.data.SymbolMarker markerSymbol) 
      static int addToInlineMarkerLib(com.supermap.data.SymbolMarkerLibrary inlineMarkerLib, com.supermap.data.SymbolMarker markerSymbol, boolean isUpdateInLineMarkerId) 
      static com.supermap.data.Symbol cloneSymbol(com.supermap.data.Symbol source)
      克隆符号对象
      static com.supermap.data.Symbol convertMarkerTextToRegion(com.supermap.data.SymbolMarker symbolMarker)
      将点符号中的文本笔划转为面存储
      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 com.supermap.data.Symbol findSameStyleSymbolInGroup(com.supermap.data.Symbol srcSymbol, com.supermap.data.SymbolGroup rootGroup) 
      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> importLibraryGroup(java.lang.String fileName, java.util.Map<java.lang.Integer,java.lang.Integer> inlineMarkerTable, java.util.List<com.supermap.desktop.core.styleSetting.ImportSymbolInfo> selectImportSymbolInfo, java.util.Map<java.lang.String,com.supermap.desktop.core.styleSetting.ImportRepeatSymbolsType> importRepeatSymbolsTypeMap)
      导入指定文件路径的符号库,默认重复符号跳过
      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 isContainsRepeatedStyle(java.lang.String fileName)
      判断当前工作空间下的符号库与指定符号库文件是否存在重复样式的符号
      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
        另请参阅:
        常量字段值
      • DEFAULT_IMPORT_TYPE_KEY

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

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

        public static final java.lang.String FILL_IN_LINE_MARKER
        另请参阅:
        常量字段值
    • 构造器详细资料

      • 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 -
      • importLibraryGroup

        public static java.util.Map<java.lang.Integer,java.lang.Integer> importLibraryGroup(java.lang.String fileName,
                                                                                            java.util.Map<java.lang.Integer,java.lang.Integer> inlineMarkerTable,
                                                                                            java.util.List<com.supermap.desktop.core.styleSetting.ImportSymbolInfo> selectImportSymbolInfo,
                                                                                            java.util.Map<java.lang.String,com.supermap.desktop.core.styleSetting.ImportRepeatSymbolsType> importRepeatSymbolsTypeMap)
        导入指定文件路径的符号库,默认重复符号跳过
        参数:
        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 -
      • addSymbolToLib

        public static int addSymbolToLib(@NotNull
                                         com.supermap.data.Symbol symbol,
                                         com.supermap.data.SymbolLibrary library,
                                         boolean isUpdateInLineMarkerId)
        将符号添加到符号库 线、面需要考虑使用了内部符号库问题
        参数:
        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)
      • addToInlineMarkerLib

        public static int addToInlineMarkerLib(com.supermap.data.SymbolMarkerLibrary inlineMarkerLib,
                                               com.supermap.data.SymbolMarker markerSymbol,
                                               boolean isUpdateInLineMarkerId)
      • 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 - 指定符号库文件
        返回:
        是否重复
      • isContainsRepeatedStyle

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

        public static com.supermap.data.Symbol findSameStyleSymbolInGroup(com.supermap.data.Symbol srcSymbol,
                                                                          com.supermap.data.SymbolGroup rootGroup)
      • convertMarkerTextToRegion

        public static com.supermap.data.Symbol convertMarkerTextToRegion(com.supermap.data.SymbolMarker symbolMarker)
        将点符号中的文本笔划转为面存储
        参数:
        symbolMarker -
        返回:
      • 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 -
        返回: