public class DataCompiler extends Object
构造器和说明 |
---|
DataCompiler()
构造路网数据编译类的对象。
|
限定符和类型 | 方法和说明 |
---|---|
void |
addSteppedListener(SteppedListener l)
添加一个进度条事件(
SteppedEvent )的监听器。 |
boolean |
compileBaseRoad(CompilerParameter parameter,
int[] mapIDs)
基础道路数据编译。
|
boolean |
compileGuideData(CompilerParameter parameter,
int[] mapIDs)
引导数据编译。
|
int[] |
compileMapID(CompilerParameter parameter,
String resultCoverageDatasetName)
获取图幅ID数组。
|
boolean |
compileSSCData(CompilerParameterSSC parameter)
已过时。
|
boolean |
compileTopologyData(CompilerParameter parameter,
int[] mapIDs)
拓扑数据编译。
|
DatasetVector |
extractAdminCode(DatasetVector datasetAdmin,
DatasetVector datasetFName,
Datasource outputDatasource,
String resultDatasetName)
从四维导航数据的Admin表和FName表中提取行政区划表(AdminCode)数据集。
|
DatasetVector |
extractAdminCode(DatasetVector datasetAdmin,
DatasetVector datasetFName,
Datasource outputDatasource,
String resultDatasetName,
int language)
从四维导航数据的Admin表和FName表中提取行政区划表(AdminCode)数据集。
|
DatasetVector |
extractRoadDirection(DatasetVector datasetRoad,
double segmentLength,
double spacingLength,
String[] roadKinds,
Datasource outputDatasource,
String resultDatasetName)
从四维导航数据道路线数据中提取道路的方向,每条道路会沿着道路方向生成一条或多条方向线段,线段的走向表示道路方向。
|
boolean |
packageData(CompilerParameter parameter,
int[] mapIDs)
编译结果数据打包。
|
void |
removeSteppedListener(SteppedListener l)
移除一个进度条事件(
SteppedEvent )的监听器。 |
boolean |
updatePathName(CompilerParameter parameter)
更新道路名称字段。
|
public boolean compileBaseRoad(CompilerParameter parameter, int[] mapIDs)
该方法根据用户配置的路网数据编译参数类和指定的图幅ID数组完成对路网基础道路数据的编译工作。
注意事项:
updatePathName
方法parameter
- 路网数据编译参数类。mapIDs
- 指定路网数据编译的图幅ID数组,可以直接通过调用
compileMapID
方法获取,也可自行指定合理的图幅ID值。图幅ID值也可以不指定,则默认编译全部路网数据。public boolean compileGuideData(CompilerParameter parameter, int[] mapIDs)
该方法根据用户配置的路网数据编译参数类和指定的图幅ID数组完成对路网引导路数据的编译工作。
注意事项:
compileBaseRoad
方法。parameter
- 路网数据编译参数类。mapIDs
- 指定路网数据编译的图幅ID数组,可以直接通过调用
compileMapID
方法获取,也可自行指定合理的图幅ID值。图幅ID值也可以不指定,则默认编译全部路网数据。public boolean compileTopologyData(CompilerParameter parameter, int[] mapIDs)
该方法根据用户配置的路网数据编译参数类和指定的图幅ID数组完成对路网拓扑关系数据的编译工作。
注意事项:
compileBaseRoad
方法。parameter
- 路网数据编译参数类。mapIDs
- 指定路网数据编译的图幅ID数组,可以直接通过调用
compileMapID
方法获取,也可自行指定合理的图幅ID值。图幅ID值也可以不指定,则默认编译全部路网数据。public boolean packageData(CompilerParameter parameter, int[] mapIDs)
该方法根据用户配置的路网数据编译参数类和指定的图幅ID数组完成对编译结果数据的打包工作。
注意事项:
PackageType
parameter
- 路网数据编译参数类。mapIDs
- 指定路网数据编译的图幅ID数组,可以直接通过调用
compileMapID
方法获取,也可自行指定合理的图幅ID值。图幅ID值也可以不指定,则默认打包全部路网数据。public boolean updatePathName(CompilerParameter parameter)
该方法对基础道路线数据添加道路名称字段,并更新值。
注意事项:
parameter
- 路网数据编译参数类。public int[] compileMapID(CompilerParameter parameter, String resultCoverageDatasetName)
该方法根据用户配置的路网数据编译参数类提取预备编译的路网数据的图幅ID。
注意事项:
compileBaseRoad
的参数项指定。
parameter
- 路网数据编译参数类。resultCoverageDatasetName
- 图幅范围数据集名称,用于生成图幅范围数据集,该数据集包含了预备编译的路网数据的图幅范围。可以不指定该名称,则不生成该数据集public DatasetVector extractAdminCode(DatasetVector datasetAdmin, DatasetVector datasetFName, Datasource outputDatasource, String resultDatasetName, int language)
此方法是从四维导航数据的Admin表和FName表中提取行政区划信息,并将行政区划信息存储在指定的结果的数据集中。 Admin表和FName表都可以通过SuperMap提供的数据转换模块导入到SuperMap的数据源中。
datasetAdmin
- Admin 表所在的数据集。datasetFName
- FName 表所在的数据集。outputDatasource
- 结果行政区划数据集所在的数据源。resultDatasetName
- 结果行政区划数据集名称,必须有效。language
- 语言可选值,只能为 [1,2,3,4],具体参考四维导航数据说明。public DatasetVector extractAdminCode(DatasetVector datasetAdmin, DatasetVector datasetFName, Datasource outputDatasource, String resultDatasetName)
此方法是从四维导航数据的Admin表和FName表中提取行政区划信息,并将行政区划信息存储在指定的结果的数据集中。 Admin表和FName表都可以通过SuperMap提供的数据转换模块导入到SuperMap的数据源中。
datasetAdmin
- Admin 表所在的数据集。datasetFName
- FName 表所在的数据集。outputDatasource
- 结果行政区划数据集所在的数据源。resultDatasetName
- 结果行政区划数据集名称,必须有效。public DatasetVector extractRoadDirection(DatasetVector datasetRoad, double segmentLength, double spacingLength, String[] roadKinds, Datasource outputDatasource, String resultDatasetName)
该方法通过用户指定道路线数据集,以及道路方向线段的长度和间隔来提取道路方向。
datasetRoad
- 需要生成道路方向的线数据集,对应于四维导航数据集中的R表。segmentLength
- 结果方向线段的长度,单位与道路线数据集坐标系单位一致。spacingLength
- 每个结果方向线段的间隔距离,单位与道路线数据集坐标系单位一致。roadKinds
- 需要生成的道路方向的道路等级,在四维导航数据的R表中,道路等级存放在Kind字段中,例如,在2013年夏季数据版本中,
定义有0x00高速路
、0x01都市高速路、0x02国道、0x03省道、0x04县道、0x06乡镇道路、0x08其他道路、0x09
九级路、0x0a轮渡、0x0b行人道路,具体可以参考四维导航数据各个版本的代码表。outputDatasource
- 结果数据集所在的数据源。resultDatasetName
- 结果数据集的名称,必须有效。public boolean testExtractRoadDirection(Datasource datasource) { if (datasource == null) { System.out.println("数据源为空"); return false; } // 获取道路线数据 String datasetName = "RoadLine"; DatasetVector datasetRoad = (DatasetVector) datasource.getDatasets().get( datasetName); if (datasetRoad == null) { System.out.println("获取数据集失败"); return false; } String result = "RoadDirection"; // 获取有效的结果数据集名称 result = datasource.getDatasets().getAvailableDatasetName(result); // 设定道路等级 String[] roadKinds = new String[] { "0x01", "0x02", "0x03", "0x04", "0x06", "0x08" }; // 设定结果道路方向线段的长度 double segLength = 0.00007; // 设定结果道路方向线段的间隔 double spacingLength = 0.001; DataCompiler dataCompiler = new DataCompiler(); DatasetVector resultDt = dataCompiler.extractRoadDirection(datasetRoad, segLength, spacingLength, roadKinds, datasource, result); if (resultDt != null) { System.out.println("提取成功"); } else { System.out.println("提取失败"); } return resultDt != null; }
@Deprecated public boolean compileSSCData(CompilerParameterSSC parameter)
DataCompiler.compileSSCData(com.supermap.analyst.networkanalyst.SSCCompilerParameter, SteppedListener...)
替换。parameter
- SSC文件编译参数类。public void CompileSSCData(CompilerParameterSSC parameter) { CompilerParameterSSC setting = new CompilerParameterSSC(); // 设置网络基本信息字段 setting.setNetworkDataset(network); setting.setEdgeIDField("SmEdgeID"); setting.setNodeIDField("SmNodeID"); setting.setFNodeIDField("SmFNode"); setting.setTNodeIDField("SmTNode"); setting.setWeightField("SmLength"); // 设置交通规则字段 setting.setRuleField("Direction"); setting.setFTSingleWayRuleValues(new java.lang.String[] { "2" }); setting.setTFSingleWayRuleValues(new java.lang.String[] { "3" }); // 设置禁行转向表信息 setting.setTurnDataset(datasetTurn); setting.setTurnFEdgeIDField("FEdgeID"); setting.setTurnNodeIDField("NodeID"); setting.setTurnTEdgeIDField("TEdgeID"); // 设置SSC文件路径 String filePath = "../test.ssc"; setting.setFilePath(filePath); // 生成SSC文件 DataCompiler compiler = new DataCompiler(); boolean b = compiler.compileSSCData(setting); TestAssert.assertTrue("compileSSCData is true", b); }
public void addSteppedListener(SteppedListener l)
SteppedEvent
)的监听器。l
- 一个用于接收进度条事件的监听器。public void removeSteppedListener(SteppedListener l)
SteppedEvent
)的监听器。l
- 一个用于接收进度条事件的监听器。Copyright © 2021–2024 SuperMap. All rights reserved.