zoukankan      html  css  js  c++  java
  • 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 = () => {
    }

  • 相关阅读:
    Linux w命令
    01.drf文档及外键字段反序列化
    redis的参数解释
    redis集群复制和故障转移
    codis原理及部署_01
    redis 主从哨兵02
    redis 主从哨兵01
    redis持久化
    redis python操作
    redis cluster
  • 原文地址:https://www.cnblogs.com/haibalai/p/15828981.html
Copyright © 2011-2022 走看看