当前位置: 首页>后端>正文

arcgis 4 与deckgl 整合 (三)

针对HexagonLayer

HexagonLayer 的数据构建器

const axios =?require('axios')

export?default?class?TripsLayerParser {

static getDataFromUrl(url: string) {

return?new?Promise((resolve => {

const queryUrl =?`${url}/query?where=1%3D1&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=%5B%5D&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&queryByDistance=&returnExtentsOnly=false&datumTransformation=&parameterValues=&rangeValues=&f=geojson`

axios.get(queryUrl).then((r: any) => {

resolve(r.data.features);

});

}));

}

static getDataFromJsonUrl(url: string) {

return?new?Promise((resolve => {

axios.get(url).then((r: any) => {

resolve(r.data.features);

});

}));

}

}

三维base

const {loadArcGISModules} =?require("@deck.gl/arcgis");

export?default?class?BaseLayer3D {

deckRender: any;

init(_view: any) {

return loadArcGISModules(['esri/views/3d/externalRenderers']).then(({DeckRenderer, modules}: any) => {

const view = _view;

const [externalRenderers] = modules;

this.deckRender =?new DeckRenderer(view, {});

externalRenderers.add(view,?this.deckRender);

});

}

removeLayer() {

this.deckRender.deck.layers = [];

}

}

DeckHexagonLayer 主

``` javascript

import HexagonLayerParser from "./HexagonLayerParser";

import ColorManager from "./ColorManager";

import BaseLayer3D from "./BaseLayer3D";

const {HexagonLayer} = require("@deck.gl/aggregation-layers");

interface INoop?{

(args?: T): void

}

const noop: INoop?= () => {

}

更多参考arcgis 4 与deckgl 整合 (三) - 小专栏 (xiaozhuanlan.com)


https://www.xamrdz.com/backend/38y1924121.html

相关文章: