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 = () => {
    }

  • 相关阅读:
    AJAX入门之深入理解JavaScript中的函数
    檔案下載function
    数据库的分页问题
    如何手动删除归档日志
    ORA00257 archiver error. 错误的处理方法
    关于Change Data Capture(六)查询CDC信息
    Cognos 的技巧
    Structs工作原理
    strutsconfig.xml属性含义
    Oracle性能查询统计信息的SQL语句
  • 原文地址:https://www.cnblogs.com/haibalai/p/15828981.html
Copyright © 2011-2022 走看看