精华内容
下载资源
问答
  • Uber开发的地图网格化的包h3

    千次阅读 2020-03-26 19:09:22
    这里写自定义目录标题经纬度转h3地址h3地址获取对应六边形的中心 经纬度转h3地址 from h3.h3 import geo_to_h3 h3no = geo_to_h3(21.529882,110.728265,6) 输出 86410942fffffff h3地址获取对应六边形的中心 ...

    通常使用规则化的网格包括三角形,正方形和六边形。三角形或正方形的网格与其相邻的网格中心距离不同,而六边形则没有此种情况,因此,h3使用的是六边形网格.
    地图的网格划分以南京为例子
    api文档
    https://github.com/uber/h3-py
    https://h3geo.org/docs/community/bindings
    在这里插入图片描述
    在这里插入图片描述h3包地图划分级别,第一列是边长
    h3包地图划分级别,边长
    H3 Python API Usage.ipynb https://nbviewer.jupyter.org/github/uber/h3-py-notebooks/blob/master/Usage.ipynb

    H3 API examples on Urban Analytics.ipynb https://nbviewer.jupyter.org/github/uber/h3-py-notebooks/blob/master/H3

    经纬度转h3地址

    from h3.h3 import geo_to_h3
    h3no = geo_to_h3(21.529882,110.728265,6)
    

    输出
    86410942fffffff
    第三个参数数字6代表地图划分等级,具体等级参考0到15个等级中每个等级的六边形边长的图

    h3地址获取对应六边形的中心

    from h3.h3 import geo_to_h3
    h3no = geo_to_h3(21.529882,110.728265,6)
    print(h3no)
    resolutionhex_center_coordinates=h3.h3_to_geo(h3no)
    print(resolutionhex_center_coordinates)
    

    输出
    86410942fffffff
    [21.52103071691776, 110.72234297380928]

    java 调用,引入pom

        <dependency>
            <groupId>com.uber</groupId>
            <artifactId>h3</artifactId>
            <version>3.4.0</version>
        </dependency>
    

    scala 语言:
    def get_h3_address(lat: Float, lon: Float): Long = {
    H3Core.newInstance().geoToH3(lat, lon, 6)
    }

    def get_h3_to_geo(h3_address: Long): String = {
    val geoCoord = H3Core.newInstance().h3ToGeo(h3_address)
    geoCoord.lng.toString + “,” + geoCoord.lat.toString
    }
    六边形层次空间索引
    六边形层次空间索引

    展开全文
  • echat 网格化地图

    2018-12-11 10:18:30
    使用echat binning on map 示例,定制 某个区的的网格化地图
  • 前言:最近要使用百度地图实现楼盘可视化的功能,因此最基础的功能就是将地图网格化以后实现不同地域的楼盘划分; 1,自行去百度地图的开放平台申请秘钥哈,这里我就把自己的秘钥贴出来了;ak=A3CklGvnFOjkAzKzay2...
  • 使用百度地图实现地图网格

    千次阅读 2018-02-05 16:03:00
    前言:最近要使用百度地图实现楼盘可视化的功能,因此最基础的功能就是将地图网格化以后实现不同地域的楼盘划分; 1,自行去百度地图的开放平台申请秘钥哈,这里我就把自己的秘钥贴出来了;ak=A3CklGvnFOjkAzKzay2...

    前言:最近要使用百度地图实现楼盘可视化的功能,因此最基础的功能就是将地图网格化以后实现不同地域的楼盘划分;

    1,自行去百度地图的开放平台申请秘钥哈,这里我就把自己的秘钥贴出来了;ak=A3CklGvnFOjkAzKzay2dySgfdig0GKz4

    2,新建一个简单页面,下面我把自己的页面贴出来

    <!DOCTYPE html>
    <html>
    <head>
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <style type="text/css">
            html {
                height: 100%
            }
    
            body {
                height: 100%;
                margin: 0px;
                padding: 0px
            }
    
            #container {
                height: 100%
            }
        </style>
        <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=A3CklGvnFOjkAzKzay2dySgfdig0GKz4"></script> 
    <script type="text/javascript" src="ziroom-map.js"></script>
     </head>
     <body> 
    <div id="container"></div>
     <script> 
    var myMap = new ZMap("container"); </script>
     </body>
     </html>

    3,其中引入了ziroom-map.js,这是我们公司的名字啦,我把代码贴出来,这个js是封装了百度的js的api的,有人如果要问为什么封装,直接使用不可以么?那我的回答是:封装可以将具体业务和地图相结合,使代码更清晰,并且可以持久化当前地图的状态,利于实现对地图的操作。

    var ZMap = function (id, center, level) {
        this.initCenter = new ZPoint(116.404, 39.915);//初始化的中心点,同时为了定义网格的中心点
        this.id = id;//div的id
        this.level = level ? level : 13;//地图级别
        this.center = center ? center : this.initCenter;//中心点
    
        this.map = null;//百度地图实例
        this.xgrids = [];//经线
        this.ygrids = [];//纬线
        this.beSelectBounds = {};
        this.bounds = null;//当前地图的四个顶点
        this.span = null;//当前网格的跨度
    
        this.init();
    
    }
    ZMap.prototype = {
        init: function () {//全局初始化
            var zMap = this;
            this.map = new BMap.Map(this.id);
            this.map.centerAndZoom(this.center.point, this.level);
            this.map.enableScrollWheelZoom();
            this.map.disableInertialDragging();
            this.map.addControl(new BMap.NavigationControl({
                anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
                type: BMAP_NAVIGATION_CONTROL_ZOOM
            })); //缩放按钮
            this.map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_BOTTOM_LEFT, offset: new BMap.Size(80, 25)})); //比例尺
            this.map.disableDoubleClickZoom();
            this.map.setMapStyle({style: 'googlelite'});
            this.initProperty();
            this.initGrid();
    
            //添加移动后的点击事件
            this.map.addEventListener("dragend", function () {
                zMap.initProperty();
                zMap.initGrid();
            });
            //添加放大或缩小时的事件
            this.map.addEventListener("zoomend", function () {
                zMap.initProperty();
                zMap.initGrid();
            });
            //设置点击事件
            this.map.addEventListener("click", function (e) {
                var point = e.point;
                //获取当前点是在哪个区块内,获取正方形的四个顶点
                var points = zMap.getGrid(point);
    
                //判断当前区域是否已经被选中过,如果被选中过则取消选中
                var key = '' + points[0].lng + points[0].lat + points[2].lng + points[2].lat;//使用两个点的坐标作为key
                if (zMap.beSelectBounds[key]) {
                    zMap.map.removeOverlay(zMap.beSelectBounds[key]);
                    delete zMap.beSelectBounds[key];
                    return;
                }
                var polygon = new BMap.Polygon(points, {strokeColor: "red", strokeWeight: 2, strokeOpacity: 0.5});
                zMap.map.addOverlay(polygon);
                zMap.beSelectBounds[key] = polygon;
    
            });
        },
        initProperty: function () {//初始化当前地图的状态
            this.level = this.map.getZoom();
            this.bounds = {
                x1: this.map.getBounds().getSouthWest().lng,
                y1: this.map.getBounds().getSouthWest().lat,
                x2: this.map.getBounds().getNorthEast().lng,
                y2: this.map.getBounds().getNorthEast().lat
            };
            this.span = this.getSpan();//需要使用level属性
        },
        initGrid: function () {//初始化网格
            var zMap = this;
            //将原来的网格线先去掉
            for (var i in zMap.xgrids) {
                this.map.removeOverlay(zMap.xgrids[i]);
            }
            zMap.xgrids = [];
            for (var i in zMap.ygrids) {
                this.map.removeOverlay(zMap.ygrids[i]);
            }
            zMap.ygrids = [];
            //获取当前网格跨度
            var span = zMap.span;
            //初始化地图上的网格
            for (var i = zMap.bounds.x1 + (zMap.initCenter.point.lng - zMap.bounds.x1) % span.x - span.x; i < zMap.bounds.x2 + span.x; i += span.x) {
                var polyline = new BMap.Polyline([
                    new BMap.Point(i.toFixed(6), zMap.bounds.y1),
                    new BMap.Point(i.toFixed(6), zMap.bounds.y2)
                ], {strokeColor: "black", strokeWeight: 1, strokeOpacity: 0.5});
                zMap.xgrids.push(polyline);
                zMap.map.addOverlay(polyline);
            }
            for (var i = zMap.bounds.y1 + (zMap.initCenter.point.lat - zMap.bounds.y1) % span.y - span.y; i < zMap.bounds.y2 + span.y; i += span.y) {
                var polyline = new BMap.Polyline([
                    new BMap.Point(zMap.bounds.x1, i.toFixed(6)),
                    new BMap.Point(zMap.bounds.x2, i.toFixed(6))
                ], {strokeColor: "black", strokeWeight: 1, strokeOpacity: 0.5});
                zMap.ygrids.push(polyline);
                zMap.map.addOverlay(polyline);
            }
        },
        getSpan: function () {//获取网格的跨度
            var scale = 0.75;
            var x = 0.00064;
            for (var i = this.level; i < 19; i++) {
                x *= 2;
            }
            var y = parseFloat((scale * x).toFixed(5));
            return {x: x, y: y};
        },
        getGrid: function (point) {//返回当前点在所在区块的四个顶点
            var zMap = this;
            //先找出两条纵线坐标
            var xpoints = this.xgrids.map(function (polyline) {
                return polyline.getPath()[0].lng;
            }).filter(function (lng) {
                return Math.abs(lng - point.lng) <= zMap.span.x;
            }).sort(function (a, b) {
                return a - b;
            }).slice(0, 2);
    
            //再找出两条横线的坐标
            var ypoints = this.ygrids.map(function (polyline) {
                return polyline.getPath()[0].lat;
            }).filter(function (lat) {
                return Math.abs(lat - point.lat) <= zMap.span.y;
            }).sort(function (a, b) {
                return a - b;
            }).slice(0, 2);
    
            return [
                new BMap.Point(xpoints[0], ypoints[0]),
                new BMap.Point(xpoints[0], ypoints[1]),
                new BMap.Point(xpoints[1], ypoints[1]),
                new BMap.Point(xpoints[1], ypoints[0])
            ];
    
        },
        reset: function () {//重置
            this.map.reset();
        }
    }
    
    var ZPoint = function (x, y, code) {
        this.code = code;
        this.point = new BMap.Point(x, y);
    }

    总结:好了这篇随笔就这么多了,欢迎大家指正。

     

    转载于:https://www.cnblogs.com/zhengcj/p/8418005.html

    展开全文
  • 2000年石家庄土地利用程度网格化操作过程 一、数据来源   SJZ文件夹下面有SJZ.mdb地理空间数据库;该地理空间数据库下有sjzlu Feature Dataset 和BD Feature Dataset;其中,sjzlu08为石家庄2008年的土地利用...

    2000年石家庄土地利用程度网格化操作过程

    今天我来介绍一种特殊的专题地图——网格化专题地图,以石家庄市土地利用分布为例。

    一、数据来源

      SJZ文件夹下面有SJZ.mdb地理空间数据库;其中,sjzlu08为石家庄2008年的土地利用数据,sjzlu2000为石家庄2000年的土地利用数据,数据我将在结尾处分享,这里我只介绍2000年扥网格化操作,有兴趣的朋友们可以尝试做一下2008年。

    二、数据说明

    这里用到了土地利用程度综合指数,土地利用程度综合指数(La)的计算公式如下:
                               在这里插入图片描述
    式中:La为土地利用程度综合指数,取值区间为[100,400];Ai为第级土地利用程度分级指数;Ci为第级土地利用程度分级面积百分比。

    表一 土地利用程度分级赋值表
    利用分级 未利用土地级 林、草、水域用地级 农业用地分级 城镇聚落地级
    土地利用类型 未利用地 林地、草地、水域 耕地 建设用地
    分级指数 1 2 3 4

    三、技术流程图

    下图为2008年石家庄市土地利用程度网格化操作技术流程图  

    在这里插入图片描述

    四、详细步骤

    1、打开ArcMap,加载sjzlu00dis数据;  



    图 1

    2、在sjzlu00dis的属性表中添加字段Ai,short integer型,然后按照土地利用程度分级赋值表进行赋值;  

    在这里插入图片描述
    图 2

    3、使用Create Fishnet工具(直接搜索该工具)创建5 km*5 km格网,命名为Finshnet00;
      

    在这里插入图片描述
    图 3

    4、裁切格网。利用Clip对所创建的Finshnet剪裁“sjzlu00dis”大小的格网,命名为“SJZFN2000”;
      

    在这里插入图片描述
    图 4
    在这里插入图片描述
    图 5

    5、打开SJZFN2000的属性表,并添加FNArea字段,double型 ;计算每个格网的面积,单位公顷(ha);
      

    在这里插入图片描述
    图 6
    在这里插入图片描述
    图 7
    在这里插入图片描述
    图 8
    在这里插入图片描述
    图 9

    6、相交用Intersect工具,把SJZFN2000和sjzlu00dis相交,结果命名为sjz1u00int;
      

    在这里插入图片描述
    图 10

    图 11

    7、打开sjzlu00int的属性表,并添加字段FNLUArea,类型double,计算每个格网内的各种土地利用类型的面积,单位公顷(ha);
      

    在这里插入图片描述
    图 12
    在这里插入图片描述
    图 13

    8、打开sjzlu00int的属性表,添加La字段,类型double,根据公式100 * [Ai] * [FNLUArea] / [FNArea]计算每个格网内各种土地利用类型的土地利用程度;
      

    在这里插入图片描述
    图 14
    在这里插入图片描述
    图 15

    9、打开sjzlu00int的属性表,在La字段上右键——Summarize,求每个格网的土地利用程度。把FNSumla00表加载到ArcMap中;
      

    在这里插入图片描述
    图 16

    10、打开SJZFN2000的属性表,添加字段La,double型。然后,点击左上角Table Options——Joins and Relates——Join,将SJZFN2000和FNSumla00的属性表联合在一起。利用Field calculator 把SUM_La的数值赋给SJZFN0000.La字段,最后,去除联合;
      

    在这里插入图片描述
    图 17
    在这里插入图片描述
    图 18
    在这里插入图片描述
    图 19

    11、对SJZFN2000进行分级设色,基于La字段手动分5级(<200、200-250、250-300、300-350、≥350);
      

    在这里插入图片描述
    图 20
    在这里插入图片描述
    图 21

    12、排版出图,添加图名、比例尺、图例、指北针(倾斜了一定的角度与纬线垂直)、经纬网Label Style Font(间隔为30′),以下为2000年石家庄土地利用程度网格图。  

    数据分享:链接:https://pan.baidu.com/s/19Bbyq59xjIMAtjUevvqtyA
    提取码:0u56

    展开全文
  • 实现的功能是 1.... 3.grid_information('10001')可以移动到对应网格区域的中心点弹出对应网格员的信息 4.点击网格区域也能弹出所在网格网格员信息 5.grid_information,点击网格区域添加标记...

    实现的功能是 1.封装getBoundary方法,你可以任意划分省,市或者到区

                           2.根据经纬度划分网格区域

                           3.grid_information('10001')可以移动到对应网格区域的中心点弹出对应网格员的信息

                           4.点击网格区域也能弹出所在网格的网格员信息

                            5.grid_information,点击网格区域添加标记点,且移除上一次的标记点
    缺点:

        第一点: 百度地图不能扣取某个区,网站有的例子,但是会出现各种问题,而且官方给的可视化案例也是像我这么做的,如果非要实现可以用高德地图,实现非常简单,我们公司非要用百度地图,没有办法

       第二点   百度地图的文字只支持px,且最小就是12px,我下面写个动态计算的也是无济于事

    初步实现的效果图:

     

    完整代码:

    <!DOCTYPE html>
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
        <style type="text/css">
          body,
          html,
          #allmap {
            width: 100%;
            height: 100%;
            overflow: hidden;
            margin: 0;
            font-family: '微软雅黑';
          }
        </style>
        <script
          type="text/javascript"
          src="http://api.map.baidu.com/api?v=3.0&ak=VMI7fuQnbCg9TwvIO2joHBTaYTG12s9e"
        ></script>
        <title>添加行政区划</title>
        <script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script>
      </head>
      <body onLoad="getBoundary('辽宁省丹东市振安区')">
        <style>
          .form-inline {
            position: absolute;
            z-index: 9999;
          }
          .form-inline .form-group {
            display: inline-block;
          }
        </style>
        <div id="allmap"></div>
      </body>
    </html>
    <script type="text/javascript">
      // map.setMapStyleV2({
      //   styleId: '3b3528dfce9abffce9657c8a6801b912',
      // })
      var last_marker = []
      var polygon
      var map = new BMap.Map('allmap')
      var point = new BMap.Point(124.183262, 40.005856) // 创建点坐标
      // 根据所在地区名称划分区域
      function getBoundary(getcity) {
        // var getcity = '辽宁省丹东市振安区'
        map.centerAndZoom(point, 20) // 初始化地图,设置中心点坐标和地图级别。
        map.enableScrollWheelZoom()
        var bdary = new BMap.Boundary()
        bdary.get(getcity, function (rs) {
          console.log(rs.boundaries)
          //获取行政区域
          map.clearOverlays() //清除地图覆盖物
          var count = rs.boundaries.length //行政区域的点有多少个
          var pointArray = []
          for (var i = 0; i < count; i++) {
            var ply = new BMap.Polygon(rs.boundaries[i], {
              strokeWeight: 4,
              strokeColor: 'red',
              fillOpacity: 0.2,
              fillColor: '#a9dbf7',
            }) //建立多边形覆盖物
            map.addOverlay(ply) //添加覆盖物
            pointArray = pointArray.concat(ply.getPath())
          }
          map.setViewport(pointArray) //调整视野
          addlabel()
          // 划分网格
          initialize()
        })
      }
      function addlabel() {
        var pointArray = [
          new BMap.Point(121.716076, 23.703799),
          new BMap.Point(112.121885, 14.570616),
          new BMap.Point(123.776573, 25.695422),
        ]
        var optsArray = [{}, {}, {}]
        var labelArray = []
        var contentArray = []
        for (var i = 0; i < pointArray.length; i++) {
          optsArray[i].position = pointArray[i]
          labelArray[i] = new BMap.Label(contentArray[i], optsArray[i])
          labelArray[i].setStyle({
            color: 'red',
            fontSize: '12px',
            height: '20px',
            lineHeight: '20px',
            fontFamily: '微软雅黑',
          })
          map.addOverlay(labelArray[i])
        }
      }
      // 自定义划分网格
      let pointArray = {
        10001: [
          { lng: 124.176363, lat: 40.262689, wgbm: 10001 },
          { lng: 124.162565, lat: 40.245068, wgbm: 10001 },
          { lng: 124.20051, lat: 40.227443, wgbm: 10001 },
          { lng: 124.20051, lat: 40.262689, wgbm: 10001 },
        ],
        10002: [
          { lng: 124.412653, lat: 40.239781, wgbm: 10002 },
          { lng: 124.420702, lat: 40.230087, wgbm: 10002 },
          { lng: 124.431626, lat: 40.238019, wgbm: 10002 },
          { lng: 124.420127, lat: 40.269736, wgbm: 10002 },
        ],
      }
      function initialize() {
        map.addControl(new BMap.NavigationControl()) // 添加平移缩放控件
        map.addControl(new BMap.ScaleControl()) // 添加比例尺控件
        map.addControl(new BMap.OverviewMapControl()) //添加缩略地图控件
        map.enableScrollWheelZoom() //启用滚轮放大缩小
        // map.addControl(new BMap.MapTypeControl()) //添加地图类型控件
        var bd = new BMap.Boundary()
        var label = []
        for (key in pointArray) {
          polygon = new BMap.Polygon(pointArray[key], {
            strokeColor: 'green',
            fillColor: '#043233',
            strokeWeight: 3,
            strokeOpacity: 0,
            fillOpacity: 0.4,
            strokeStyle: 'solid',
          })
          polygon.addEventListener('mouseover', function (evt) {
            console.log('mouseover', evt.target.Ao[0].wgbm)
          })
          polygon.addEventListener('mouseout', function (evt) {
            console.log('mouseout', evt.target.Ao[0].wgbm)
          })
          // 点击网格区域调取网格编号
          polygon.addEventListener('click', function (evt) {
            console.log('覆盖物点击:', evt.target.Ao[0].wgbm)
            // debugger
            // 清除上一次标记点
            console.log('上一次的marker', last_marker)
            if (last_marker.length > 0) {
              map.removeOverlay(last_marker[last_marker.length - 1])
              map.removeOverlay(last_marker[last_marker.length - 2])
            }
            grid_information(evt.target.Ao[0].wgbm)
            // 点击创建一个中心点
            var center_point = getCenterPoint(evt.target.Ao)
            var marker = new BMap.Marker(
              new BMap.Point(center_point.lng, center_point.lat)
            )
            last_marker.push(marker)
            console.log('点击的marker', marker)
            map.addOverlay(marker)
            console.log(last_marker)
          })
          map.addOverlay(polygon)
          // 添加文本
          let content_center = getCenterPoint(pointArray[key])
          var point = new BMap.Point(content_center.lng, content_center.lat)
          var content = key
          var data = {} //每次循环的时候,新建对象
          data = new BMap.Label(content, {
            // 创建文本标注
            position: point, // 设置标注的地理位置
            offset: new BMap.Size(0, 0), // 设置标注的偏移量
          })
          console.log(data)
          label.push(data)
          // })
          //
        }
        console.log(label)
        for (i in label) {
          map.addOverlay(label[i])
          // 自定义文本样式
          label[i].setStyle({
            // 设置label的样式
            color: '#51dae1',
            fontSize: fontSize(0.12) + 'px',
            border: 'none',
            cursor: 'pointer',
            background: 'none',
          })
          label[i].addEventListener('click', function (evt) {
            console.log('覆盖物点击:', evt.target.Ao[0].wgbm)
            // 点击创建一个中心点
            var center_point = getCenterPoint(evt.target.Ao)
            var marker = new BMap.Marker(
              new BMap.Point(center_point.lng, center_point.lat)
            )
            map.addOverlay(marker)
          })
        }
      }
      // 获取多边形中心点坐标
      function getCenterPoint(path) {
        var x = 0.0
        var y = 0.0
        for (var i = 0; i < path.length; i++) {
          x = x + parseFloat(path[i].lng)
          y = y + parseFloat(path[i].lat)
        }
        x = x / path.length
        y = y / path.length
        return new BMap.Point(x, y)
      }
      // 通过网格号调取网格员的信息
      function grid_information(wgbm) {
        if (last_marker.length > 0) {
          map.removeOverlay(last_marker[last_marker.length - 1])
          map.removeOverlay(last_marker[last_marker.length - 2])
        }
        let point = new BMap.Point(124.183262, 40.005856) // 创建点坐标
        map.centerAndZoom(point, 15) // 初始化地图,设置中心点坐标和地图级别。
        let center_point
        for (key in pointArray) {
          if (key == wgbm) {
            center_point = getCenterPoint(pointArray[key])
          }
        }
        let zd_point = new BMap.Point(center_point.lng, center_point.lat)
        // 走个接口调取网格对应网格号的网格员信息
        // 移动到中心点
        map.setCenter(zd_point)
        // 创建标记点
        var marker = new BMap.Marker(zd_point)
        last_marker.push(marker)
        map.addOverlay(marker)
        // 创建信息窗口
        var opts = {
          width: 250, // 信息窗口宽度
          height: 100, // 信息窗口高度
          title: '网格员信息', // 信息窗口标题
        }
        var infoWindow = new BMap.InfoWindow('姓名:赵四', opts) // 创建信息窗口对象
        map.openInfoWindow(infoWindow, zd_point) // 打开信息窗口
      }
      function fontSize(res) {
        let docEl = document.documentElement,
          clientWidth =
            window.innerWidth ||
            document.documentElement.clientWidth ||
            document.body.clientWidth
        if (!clientWidth) return
        let fontSize = 100 * (clientWidth / 1920)
        console.log(res * fontSize)
        return res * fontSize
      }
    </script>
    

     

    展开全文
  • oco-2数据网格化后添加世界地图背景 最近利用oco-2的数据做网格化后推测长时间序列,但是网格化后的影像直接是 为了便于比较网格化后的是否准确,加上世界地图背景。主要用的是geopandas。代码如下 import ...
  • 为了提高导航地图显示数据的读取效率和渲染速度,需要对地图显示的对象进行合理的组织。首先建立了多比例尺二级定幅网格索引结构,基于此索引结构设计了预估缓存加载机制,重点改善了导航定向移动工程下的数据加载...
  • GIS与网格化管理

    2021-02-25 19:49:45
    网格化管理在智慧城市、智慧社区、已经其它一些资源管理类系统中有广泛的应用,结合自己的一些实际项目体会以及已经建成的系统谈谈个人的一些体会。 其实管理类信息系统的建设是伴随着个人计算机的普及开始的,最早...
  • 通过探索基于用户行为研究的网格化管理体系,辅助支撑电信企业实现渠道集中化工作...并阐述了GIS地图支撑网格管理的关键技术和网格化管理应用的实例,实现对区域微单元区域的管理支撑,有效支撑渠道运营管理工作实施。
  • 网格化综治解决方案

    千次阅读 2020-05-27 11:14:41
    网格化管理为基础应用的系统涉及安监、环保、综治等各个行业,本方案以综治网格(“9+x”)为例,将“9”大业务基础数据作为数据支撑,围绕综治各项业务需求作为“x”模块进行系统扩展延伸。 一、网格化管理 ...
  • 作为国内环境监测行业领先的成都纵横智控,积累了多年的大气环境监测仪器设备制造应用和大气环境领域监测的经验,针对目前城市大气环境监测网格化建设,推出的新一代城市大气网格化监测系统,可以实现城市区域环境...
  • 作为国内环境监测行业领先的成都纵横智控,积累了多年的大气环境监测仪器设备制造应用和大气环境领域监测的经验,针对目前城市大气环境监测网格化建设,推出的新一代城市大气网格化监测系统,可以实现城市区域环境...
  • 网格化分析图绘制

    千次阅读 2020-08-27 17:07:38
    网格化的目的是让各个数据更加标准化的进行统计。因各个网格位置受控,也有利于大量数据的对比与叠加计算。本文将示意如何完成一张标准的网格化分析图。 一、会用到的软件 ARCGIS 二、创建格网 2.1 制作流程 确认...
  • 智慧社区网格化服务管理信息平台

    千次阅读 2019-12-05 18:51:20
    智慧社区网格化管理是建立在数字信息技术基础之上的,以单元网格管理为特征,以实现社会公共管理和服务的全员化、信息化和精细化为目标的一种新型的社会管理模式,是创新工作机制的一种尝试。一般把1个社区划分为1个...
  • 网格地图软件

    2013-10-10 16:40:21
    HAM 用网格地图转换,但是转换精度不高,不如在www.qrz.com的grid中详细。
  • 需求:划分坐标区域,GPS坐标点网格化处理 输入:GPS坐标经纬度,网格的行数和列数 输出:坐标的网格区域ID 区域范围 import pandas as pd import random LON1 = 121.4135 LON2 = 121.4176 LAT1 = 31.2165 LAT2 = ...
  • OpenLayers 3 之 添加地图网格

    万次阅读 2016-06-02 13:34:06
    地图上渲染一层类似于经纬线的网格层,更有利于准确的确定区域,在WGS84坐标系下,以度,分,秒为单位,称之为“经纬网”,其网格是以经纬线来划分的。在OpenLayers3中,渲染网格的类是“ol.Graticule”。本文中,...
  • python图片网格化分割

    千次阅读 2020-06-29 23:21:53
    将一张图片网格化分割,效果类似朋友圈9图 #图片分割 from PIL import Image import os filename = 'D:/xxx.png' #原图地址及名称 img = Image.open(filename) size = img.size # 准备将图片切割成32*32张小图片 ...
  • 删除通用样式表图片样式,成功解决: img { border: none; max-width: 100%; } Done!
  • 一直以来提倡**[网格化管理](http://www.zzrgsoft.com/zzwgh.html)**的模式在街道、社区、城市展开,互联网的迅速发展带动了网格化管理,社区借助综治网格化管理平台提升了社区管理的高效,增强了社区安全的保障,...
  • 包括世界网格shp和地图shp文件
  • 轨迹坐标点网格化生成对应的网格ID python实现 原文地址 ''' 定义:划分坐标区域,GPS坐标点网格化处理 输入:GPS坐标经纬度,网格的行数和列数 输出:坐标的网格区域ID ''' import pandas as pd import random # ...
  • 具备权限的工作人员进入网格化服务管理信息平台,用鼠标轻轻一点,就能在三维地图上查看辖区网格基本信息;社区居民遇上家里马桶堵了、下水管破了,也可以通过这一平台,第一时间把情况反映给相关部门,或者查询就近...
  • Wish3D Earth全新上线三维社区网格化管理平台,使用实景三维模型作为地图,地形地貌真实展示,信息快速定位查找,动态处理事件,更好服务民众,助力社区网格化工作顺利开展。 此模块主要是用来实现对人口...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,052
精华内容 5,620
关键字:

地图网格化