一、什么是拓扑分析
拓扑分析是研究几个几何图形之间的关系。
拓扑关系包括:
- 相离 (中国-乌克兰) disjoin
- 相交 (中国-印度)
- 相邻 (俄罗斯和乌克兰)(中国-朝鲜)
- 包含 (中国-台湾)
我们可以调用中地提供的几何分析服务,将需要分析的几何图形作为参数传递,调用服务接口,得到分析结果。
二、步骤
- 构造几何形状
- 调用服务接口
- 得到分析结果
三、示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../lib/include-openlayers-local.js"></script>
</head>
<body>
<button onclick="topAnalysis()">拓扑分析</button>
<script>
/* 1-1、 创建比较对象一个点对象 */
const pointObj = new Zondy.Object.GPoint(114.155355,30.784218)
/* 1-2、 创建参考对象*/
//创建几何对象
const regionObj = new Zondy.Object.GRegion([
new Zondy.Object.AnyLine([
new Zondy.Object.Arc([
new Zondy.Object.Point2D(114.301586,30.533613),
new Zondy.Object.Point2D(114.301586,30.396517),
new Zondy.Object.Point2D(114.544453,30.396517),
new Zondy.Object.Point2D(114.444453,30.533613),
new Zondy.Object.Point2D(114.401586,30.533613)
])
])
])
/* 1-3、调用拓扑分析的服务 */
function topAnalysis(){
//初始化TopAnalysis类
var topParam = new Zondy.Service.TopAnalysis({
ip:'localhost',
port:'6163'
})
//调用setPnt方法,设置点类型
topParam.setPnt(pointObj)
//调用setRelativeObj方法,设置拓扑分析参照物
topParam.setRelativeObj(regionObj)
//设置拓扑分析半径
topParam.nearDis = '0.05'
//执行拓扑分析,成功执行后返回执行结果,onSuccess为回调函数
topParam.execute(onSuccess,onError)
}
function onSuccess(res){
console.log(res)
}
function onError(err){
console.log(err)
}
</script>
</body>
</html>