public class Generalization
extends java.lang.Object
限定符和类型 | 方法和说明 |
---|---|
static void |
addSteppedListener(SteppedListener l) |
static boolean |
aggregatePoints(DatasetVector pointDataset,
double distance,
Unit unit,
int minPilePointCount,
Datasource outDatasource,
java.lang.String resultRegionDatasetName,
java.lang.String resultClassFieldName)
点聚类功能,返回是否成功
|
static boolean |
aggregatePoints(DatasetVector pointDataset,
int aggregateCount,
java.lang.String weightFieldName,
Datasource outDatasource,
java.lang.String resultRegionDatasetName,
java.lang.String resultClassFieldName)
点聚类功能,返回是否成功
|
static GeoRegion[] |
autoCompletePolygon(DatasetVector regionDataset,
Rectangle2D bounds,
GeoLine geoLine)
自动完成面
|
static DatasetVector |
dissolve(DatasetVector sourceDatasetVector,
Datasource targetDatasource,
java.lang.String targetDatasetName,
DissolveParameter dissolveParameter)
矢量数据融合
|
static GeoLine[] |
dualLineToCenterLine(Recordset sourceRecordset,
double maxWidth,
double minWidth)
双线提取中心线
|
static DatasetVector |
dualLineToCenterLine(Recordset sourceRecordset,
double maxWidth,
double minWidth,
Datasource outputDatasource,
java.lang.String outputDatasetName)
双线提取中心线
|
static boolean |
eliminate(DatasetVector sourceDatasetVector,
double regionTolerance,
double vertexTolerance,
EliminateMode eliminateMode,
boolean isDeleteSingleRegion)
面数据集碎多边形合并
|
static DatasetVector |
featureEnvelope(DatasetVector sourceDataset,
java.lang.String targetDatasetName,
Datasource targetDatasource) |
static DatasetVector |
featureEnvelope(DatasetVector sourceDataset,
java.lang.String targetDatasetName,
Datasource targetDatasource,
boolean isSinglePart) |
static boolean |
integrate(DatasetVector sourceDatasetVector,
double tolerance,
Unit unit)
整合
|
static boolean |
isPrjCoordSysIdentical(PrjCoordSys sourcePrjCoordSys,
PrjCoordSys targetPrjCoordSys) |
static boolean |
lineAttachRegion(GeoLine geoLine,
GeoRegion geoRegion,
java.util.List<GeoRegion> listRegionCompare,
double toleranceLineAttachRegion,
double toleranceRegionMerge,
double toleranceChange,
boolean isUsePreProcess)
线靠面功能,此接口主要用于国土数据处理,例如,在国土数据处理中,对于扣除比例为0.5的情况,会把线靠到两个面的公共线上。
|
static GeoLine |
regionToCenterLine(GeoRegion sourceRegion)
面提取中心线
|
static GeoLine |
regionToCenterLine(GeoRegion sourceRegion,
Point2D pointFrom,
Point2D pointTo)
面提取中心线
|
static DatasetVector |
regionToCenterLine(Recordset regionRecordset,
Datasource outputDatasource,
java.lang.String outputDatasetName)
面提取中心线
|
static DatasetVector |
regularizeBuildingFootprint(DatasetVector sourceDataset,
Datasource targetDatasource,
java.lang.String targetDatasetName,
RegularizeParameter param,
boolean isAttributeRetained)
建筑物规则化
|
static void |
removeSteppedListener(SteppedListener l) |
public static DatasetVector dissolve(DatasetVector sourceDatasetVector, Datasource targetDatasource, java.lang.String targetDatasetName, DissolveParameter dissolveParameter)
sourceDatasetVector
- [in] 待融合的矢量数据集targetDatasource
- [in] 输出数据源targetDatasetName
- [in] 结果数据集明dissolveParameter
- [in] 融合参数public static boolean eliminate(DatasetVector sourceDatasetVector, double regionTolerance, double vertexTolerance, EliminateMode eliminateMode, boolean isDeleteSingleRegion)
sourceDatasetVector
- [in] 待合并的矢量面数据集regionTolerance
- [in] 碎多边形面积,小于此面积的多边形将会被合并vertexTolerance
- [in] 节点容限eliminateMode
- [in] 合并模式设置isDeleteSingleRegion
- [in] 是否自动删除孤立的小多边形public static DatasetVector dualLineToCenterLine(Recordset sourceRecordset, double maxWidth, double minWidth, Datasource outputDatasource, java.lang.String outputDatasetName)
sourceRecordset
- 要提取中心线的记录集streetWidth
- 双线宽度outputDatasource
- 输出中心线数据集所在的数据源outputDatasetName
- 输出中心线数据集的名字public static GeoLine[] dualLineToCenterLine(Recordset sourceRecordset, double maxWidth, double minWidth)
sourceRecordset
- 要提取中心线的记录集streetWidth
- 双线宽度public static DatasetVector regionToCenterLine(Recordset regionRecordset, Datasource outputDatasource, java.lang.String outputDatasetName)
regionRecordset
- 要提取中心线的面记录集outputDatasource
- 输出中心线数据集所在的数据源outputDatasetName
- 输出中心线数据集的名字public static GeoLine regionToCenterLine(GeoRegion sourceRegion, Point2D pointFrom, Point2D pointTo)
geoRegion
- 要提取中心线的面对象pntStart
- 选择要提取的中心线的起始点pntEnd
- 选择要提取的中心线的终止点public static GeoLine regionToCenterLine(GeoRegion sourceRegion)
geoRegion
- 要提取中心线的面对象pntStart
- 选择要提取的中心线的起始点pntEnd
- 选择要提取的中心线的终止点public static GeoRegion[] autoCompletePolygon(DatasetVector regionDataset, Rectangle2D bounds, GeoLine geoLine)
regionDataset
- 参考面数据集bounds
- 计算范围,用于对regionDataset进行范围查询,减少计算量以提高性能,构成结果面的所有参考面对象都必须在bounds范围,如果最后结果面所需的参考面不在bounds范围,将会导致结果面生成失败。
bounds范围为空时取参考面数据集的范围。geoLine
- 自动完成面对象所需的线对象,可以不闭合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为无效类别,相同类别的点为同一类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开始,public static boolean lineAttachRegion(GeoLine geoLine, GeoRegion geoRegion, java.util.List<GeoRegion> listRegionCompare, double toleranceLineAttachRegion, double toleranceRegionMerge, double toleranceChange, boolean isUsePreProcess)
geoLine
- 要处理的线对象。geoRegion
- 要处理的面对象。例如在国土数据处理中,对于扣除比例为0.5的情况,传入要靠的两个面对象其中一个,对于扣除比例为1的情况,传入要靠的面对象。listRegionCompare
- 要比较的面对象,外部需要传入一个链表对象。例如,国土数据处理中,对于扣除比例为0.5的情况,这个数组里只包含一个面对象,就是要靠的两个面对象的另外一个,对于扣除比例为1的情况,传入要靠的面对象周围的对象数组。toleranceLineAttachRegion
- 指的是线靠面的时候,线的端点捕捉到节点的容限。若线的端点到节点的容限小于toleranceLineAttachRegion会直接把线的端点捕捉到面的节点上,否则会把线的端点捕捉到面的线段上,并且在面上插入垂足。若不存在这样最近的垂足,则还是会捕捉到面的节点上。toleranceRegionMerge
- 指的是面之间插入节点的容限,以及面和面之间寻找重复线的容限。toleranceChange
- 指的是如果新替换的线和原来的线之间的极大距离大于给定的容限,则函数返回FALSE。isUsePreProcess
- 指的是是否进行数据预处理,这个一般要设置为true,除非是对自己的数据非常有信心。public static boolean integrate(DatasetVector sourceDatasetVector, double tolerance, Unit unit)
sourceDatasetVector
- [in] 待整合的源数据集tolerance
- [in] 节点容限unit
- [in] 容限单位public static DatasetVector featureEnvelope(DatasetVector sourceDataset, java.lang.String targetDatasetName, Datasource targetDatasource, boolean isSinglePart)
public static DatasetVector featureEnvelope(DatasetVector sourceDataset, java.lang.String targetDatasetName, Datasource targetDatasource)
public static boolean isPrjCoordSysIdentical(PrjCoordSys sourcePrjCoordSys, PrjCoordSys targetPrjCoordSys)
public static void addSteppedListener(SteppedListener l)
public static void removeSteppedListener(SteppedListener l)
public static DatasetVector regularizeBuildingFootprint(DatasetVector sourceDataset, Datasource targetDatasource, java.lang.String targetDatasetName, RegularizeParameter param, boolean isAttributeRetained)
sourceDataset
- 待计算的矢量数据集,只对二维面数据集有效targetDatasource
- 输出数据源targetDatasetName
- 结果数据集名param
- 规则化参数isAttributeRetained
- 是否保存原始字段