初遇Citymaker (十)

常见的缓冲分析封装

  • 调用
  • let p1 = cw5.geometryCreator.createPoint(150139, 37917, 64);
  • let line = cw5.geometryCreator.createPolyline([[150139, 37917, 64],
  • [150180, 37854, 64],
  • [150258, 37887, 64]]);
  • let polygon = cw5.geometryCreator.createPolygon([[150139, 37917, 64],
  • [150180, 37854, 64],
  • [150258, 37887, 64],
  • [150139, 37917, 64]]);
  • //创建对应的样式
  • let symbolL = cw5.symbolCreator.createPolylineSymbol("#c1ff3c", 1);
  • let symbolP = cw5.symbolCreator.createPointSymbol_Simple(null, 20);
  • let symbolPolygon1 = cw5.symbolCreator.createPolygonSymbol();
  • let symbolPolygon = cw5.symbolCreator.createPolygonSymbol("#FFAF24", 0.5); //缓冲用的样式
  • //展示出需要缓冲的要素方便查看
  • cw5.renderLayerCtrl.createLayer("p", p1, symbolP);
  • cw5.renderLayerCtrl.createLayer("line", line, symbolL);
  • cw5.renderLayerCtrl.createLayer("polygon", polygon, symbolPolygon1);
  •  
  •  
  • switch (type) {
  • case "point":
  • let buff = cw5.bufferUtils.buffer(p1, 10); //返回缓冲后的新要素
  • cw5.renderLayerCtrl.createLayer("buff", buff, symbolPolygon);//展示在场景中,方便查看
  • break;
  • case "polyline":
  • let buff2 = cw5.bufferUtils.buffer(line, 10);//返回缓冲后的新要素
  • cw5.renderLayerCtrl.createLayer("buff", buff2, symbolPolygon);//展示在场景中,方便查看
  • break;
  • case "polygon":
  • let buff3 = cw5.bufferUtils.buffer(polygon, 10);//返回缓冲后的新要素
  • cw5.renderLayerCtrl.createLayer("buff", buff3, symbolPolygon);//展示在场景中,方便查看
  • break;
  • }
  • bufferUtils 类

```javascript
import { cw5 } from "../index.js";

posted @ 2022-01-23 23:36  haibalai  阅读(28)  评论(0编辑  收藏  举报