一、什么是拓扑分析

拓扑分析是研究几个几何图形之间的关系。

拓扑关系包括:

  • 相离 (中国-乌克兰) disjoin
  • 相交 (中国-印度)
  • 相邻 (俄罗斯和乌克兰)(中国-朝鲜)
  • 包含 (中国-台湾)

1、拓扑分析 - 图1
我们可以调用中地提供的几何分析服务,将需要分析的几何图形作为参数传递,调用服务接口,得到分析结果。

二、步骤

  1. 构造几何形状
  2. 调用服务接口
  3. 得到分析结果

1、拓扑分析 - 图2

三、示例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script src="../lib/include-openlayers-local.js"></script>
  9. </head>
  10. <body>
  11. <button onclick="topAnalysis()">拓扑分析</button>
  12. <script>
  13. /* 1-1、 创建比较对象一个点对象 */
  14. const pointObj = new Zondy.Object.GPoint(114.155355,30.784218)
  15. /* 1-2、 创建参考对象*/
  16. //创建几何对象
  17. const regionObj = new Zondy.Object.GRegion([
  18. new Zondy.Object.AnyLine([
  19. new Zondy.Object.Arc([
  20. new Zondy.Object.Point2D(114.301586,30.533613),
  21. new Zondy.Object.Point2D(114.301586,30.396517),
  22. new Zondy.Object.Point2D(114.544453,30.396517),
  23. new Zondy.Object.Point2D(114.444453,30.533613),
  24. new Zondy.Object.Point2D(114.401586,30.533613)
  25. ])
  26. ])
  27. ])
  28. /* 1-3、调用拓扑分析的服务 */
  29. function topAnalysis(){
  30. //初始化TopAnalysis类
  31. var topParam = new Zondy.Service.TopAnalysis({
  32. ip:'localhost',
  33. port:'6163'
  34. })
  35. //调用setPnt方法,设置点类型
  36. topParam.setPnt(pointObj)
  37. //调用setRelativeObj方法,设置拓扑分析参照物
  38. topParam.setRelativeObj(regionObj)
  39. //设置拓扑分析半径
  40. topParam.nearDis = '0.05'
  41. //执行拓扑分析,成功执行后返回执行结果,onSuccess为回调函数
  42. topParam.execute(onSuccess,onError)
  43. }
  44. function onSuccess(res){
  45. console.log(res)
  46. }
  47. function onError(err){
  48. console.log(err)
  49. }
  50. </script>
  51. </body>
  52. </html>