com.supermap.analyst.spatialanalyst

类 Generalization

  • java.lang.Object
    • com.supermap.analyst.spatialanalyst.Generalization


  • public class Generalization
    extends java.lang.Object
    • 方法详细资料

      • dissolve

        public static DatasetVector dissolve(DatasetVector sourceDatasetVector,
                                             Datasource targetDatasource,
                                             java.lang.String targetDatasetName,
                                             DissolveParameter dissolveParameter)
        矢量数据融合
        参数:
        sourceDatasetVector - [in] 待融合的矢量数据集
        targetDatasource - [in] 输出数据源
        targetDatasetName - [in] 结果数据集明
        dissolveParameter - [in] 融合参数
        返回:
        融合结果数据集
      • eliminate

        public static boolean eliminate(DatasetVector sourceDatasetVector,
                                        double regionTolerance,
                                        double vertexTolerance,
                                        EliminateMode eliminateMode,
                                        boolean isDeleteSingleRegion)
        面数据集碎多边形合并
        参数:
        sourceDatasetVector - [in] 待合并的矢量面数据集
        regionTolerance - [in] 碎多边形面积,小于此面积的多边形将会被合并
        vertexTolerance - [in] 节点容限
        eliminateMode - [in] 合并模式设置
        isDeleteSingleRegion - [in] 是否自动删除孤立的小多边形
        返回:
        是否成功
      • dualLineToCenterLine

        public static DatasetVector dualLineToCenterLine(Recordset sourceRecordset,
                                                         double maxWidth,
                                                         double minWidth,
                                                         Datasource outputDatasource,
                                                         java.lang.String outputDatasetName)
        双线提取中心线
        参数:
        sourceRecordset - 要提取中心线的记录集
        streetWidth - 双线宽度
        outputDatasource - 输出中心线数据集所在的数据源
        outputDatasetName - 输出中心线数据集的名字
        返回:
        结果数据集
      • dualLineToCenterLine

        public static GeoLine[] dualLineToCenterLine(Recordset sourceRecordset,
                                                     double maxWidth,
                                                     double minWidth)
        双线提取中心线
        参数:
        sourceRecordset - 要提取中心线的记录集
        streetWidth - 双线宽度
        返回:
        结果对象数组
      • regionToCenterLine

        public static DatasetVector regionToCenterLine(Recordset regionRecordset,
                                                       Datasource outputDatasource,
                                                       java.lang.String outputDatasetName)
        面提取中心线
        参数:
        regionRecordset - 要提取中心线的面记录集
        outputDatasource - 输出中心线数据集所在的数据源
        outputDatasetName - 输出中心线数据集的名字
        返回:
        结果数据集
      • regionToCenterLine

        public static GeoLine regionToCenterLine(GeoRegion sourceRegion,
                                                 Point2D pointFrom,
                                                 Point2D pointTo)
        面提取中心线
        参数:
        geoRegion - 要提取中心线的面对象
        pntStart - 选择要提取的中心线的起始点
        pntEnd - 选择要提取的中心线的终止点
        返回:
        返回面中心线
      • regionToCenterLine

        public static GeoLine regionToCenterLine(GeoRegion sourceRegion)
        面提取中心线
        参数:
        geoRegion - 要提取中心线的面对象
        pntStart - 选择要提取的中心线的起始点
        pntEnd - 选择要提取的中心线的终止点
        返回:
        返回面中心线
      • autoCompletePolygon

        public static GeoRegion[] autoCompletePolygon(DatasetVector regionDataset,
                                                      Rectangle2D bounds,
                                                      GeoLine geoLine)
        自动完成面
        参数:
        regionDataset - 参考面数据集
        bounds - 计算范围,用于对regionDataset进行范围查询,减少计算量以提高性能,构成结果面的所有参考面对象都必须在bounds范围,如果最后结果面所需的参考面不在bounds范围,将会导致结果面生成失败。 bounds范围为空时取参考面数据集的范围。
        geoLine - 自动完成面对象所需的线对象,可以不闭合
        返回:
        返回结果对象数组,失败返回null
      • aggregatePoints

        public static boolean aggregatePoints(DatasetVector pointDataset,
                                              double distance,
                                              Unit unit,
                                              int minPilePointCount,
                                              Datasource outDatasource,
                                              java.lang.String resultRegionDatasetName,
                                              java.lang.String resultClassFieldName)
        点聚类功能,返回是否成功
        参数:
        pointDataset - pointDataset 点集
        distance - distance 聚类的空间距离
        unit - 设置聚类半径值的单位
        minPilePointCount - 进行点聚类时点簇的最小值,如果一簇点集数目小于此阈值将不会聚类为一类
        outDatasource - 返回结果所在的数据源
        resultRegionDatasetName - 返回结果面对象的数据集名称
        resultClassFieldName - 返回的聚类类别存储的字段,字段保存在源数据集中。效类别从1开始,0为无效类别,相同类别的点为同一类
        返回:
      • aggregatePoints

        public static boolean aggregatePoints(DatasetVector pointDataset,
                                              int aggregateCount,
                                              java.lang.String weightFieldName,
                                              Datasource outDatasource,
                                              java.lang.String resultRegionDatasetName,
                                              java.lang.String resultClassFieldName)
        点聚类功能,返回是否成功
        参数:
        pointDataset - pointDataset 点集
        aggregateCount - aggregateCount 聚类数目
        weightFieldName - weightFieldName 权重字段名称
        outDatasource - 返回结果所在的数据源
        resultRegionDatasetName - 返回结果面对象的数据集名称
        resultClassFieldName - 返回的聚类类别存储的字段,字段保存在源数据集中。聚类类别从0开始,
        返回:
      • lineAttachRegion

        public static boolean lineAttachRegion(GeoLine geoLine,
                                               GeoRegion geoRegion,
                                               java.util.List<GeoRegion> listRegionCompare,
                                               double toleranceLineAttachRegion,
                                               double toleranceRegionMerge,
                                               double toleranceChange,
                                               boolean isUsePreProcess)
        线靠面功能,此接口主要用于国土数据处理,例如,在国土数据处理中,对于扣除比例为0.5的情况,会把线靠到两个面的公共线上。对于扣除比例为1的情况,会把线靠到公共边线或者是面的单独线上,但不会跨越多个图斑。
        参数:
        geoLine - 要处理的线对象。
        geoRegion - 要处理的面对象。例如在国土数据处理中,对于扣除比例为0.5的情况,传入要靠的两个面对象其中一个,对于扣除比例为1的情况,传入要靠的面对象。
        listRegionCompare - 要比较的面对象,外部需要传入一个链表对象。例如,国土数据处理中,对于扣除比例为0.5的情况,这个数组里只包含一个面对象,就是要靠的两个面对象的另外一个,对于扣除比例为1的情况,传入要靠的面对象周围的对象数组。
        toleranceLineAttachRegion - 指的是线靠面的时候,线的端点捕捉到节点的容限。若线的端点到节点的容限小于toleranceLineAttachRegion会直接把线的端点捕捉到面的节点上,否则会把线的端点捕捉到面的线段上,并且在面上插入垂足。若不存在这样最近的垂足,则还是会捕捉到面的节点上。
        toleranceRegionMerge - 指的是面之间插入节点的容限,以及面和面之间寻找重复线的容限。
        toleranceChange - 指的是如果新替换的线和原来的线之间的极大距离大于给定的容限,则函数返回FALSE。
        isUsePreProcess - 指的是是否进行数据预处理,这个一般要设置为true,除非是对自己的数据非常有信心。
        返回:
      • integrate

        public static boolean integrate(DatasetVector sourceDatasetVector,
                                        double tolerance,
                                        Unit unit)
        整合
        参数:
        sourceDatasetVector - [in] 待整合的源数据集
        tolerance - [in] 节点容限
        unit - [in] 容限单位
        返回:
        是否成功
      • featureEnvelope

        public static DatasetVector featureEnvelope(DatasetVector sourceDataset,
                                                    java.lang.String targetDatasetName,
                                                    Datasource targetDatasource,
                                                    boolean isSinglePart)
      • isPrjCoordSysIdentical

        public static boolean isPrjCoordSysIdentical(PrjCoordSys sourcePrjCoordSys,
                                                     PrjCoordSys targetPrjCoordSys)
      • addSteppedListener

        public static void addSteppedListener(SteppedListener l)
      • removeSteppedListener

        public static void removeSteppedListener(SteppedListener l)
      • regularizeBuildingFootprint

        public static DatasetVector regularizeBuildingFootprint(DatasetVector sourceDataset,
                                                                Datasource targetDatasource,
                                                                java.lang.String targetDatasetName,
                                                                RegularizeParameter param,
                                                                boolean isAttributeRetained)
        建筑物规则化
        参数:
        sourceDataset - 待计算的矢量数据集,只对二维面数据集有效
        targetDatasource - 输出数据源
        targetDatasetName - 结果数据集名
        param - 规则化参数
        isAttributeRetained - 是否保存原始字段
        返回: