首页 > 数据库 >mongodb绘制多边形区域

mongodb绘制多边形区域

时间:2022-11-16 18:44:51浏览次数:46  
标签:map 多边形 Point mongodb 100% BMap new 绘制

拾取坐标地址:http://api.map.baidu.com/lbsapi/getpoint/index.html

根据坐标绘制多边形区域:https://developer.baidu.com/map/jsdemo.htm#c2_9

将以下的代码复制在打开的地址的源代码编辑器里面运行,拉圈住的红色,把编辑拉开

 

 

 

<!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{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}
#allmap {height:100%; width: 100%;}
#control{width:100%;}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
<title>设置线、面可编辑</title>
</head>
<body>
<div id="allmap"></div>
<div id="control">
<button onclick = "polyline.enableEditing();polygon.enableEditing();">开启线、面编辑功能</button>
<button onclick = "polyline.disableEditing();polygon.disableEditing();">关闭线、面编辑功能</button>
</div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(108.948264,34.266454), 15);
map.enableScrollWheelZoom();
// 记得坐标要首尾一致,形成闭环 var polygon = new BMap.Polygon([ new BMap.Point(108.948148,34.266045), new BMap.Point(108.948713,34.266876), new BMap.Point(108.948148,34.266045) ], {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5}); //创建多边形 map.addOverlay(polygon); //增加多边形 </script>

 

#录入到mongodb数据库里面,Polygon是类比,表名是多边形区域【注意注意!!!多边形区域的点不可以相交,否则新增会失败】
db.t_test_place.insert({
    xymc:"古都旅馆",
     polygons:{
        type:"Polygon",
         coordinates:[[
                [108.949077,34.266488],
                [108.949203,34.266492],
                [108.949212,34.266641],
                [108.949239,34.266906],
                [108.949163,34.266913],
                [108.949104,34.266913],
                [108.949082,34.266817],
                [108.949086,34.266764],
                [108.948916,34.266779],
                [108.948889,34.266693],
                [108.949077,34.266671],
                [108.949068,34.266492],
                [108.949095,34.266485],
                [108.949077,34.266488]
         ]]
    }
   }
);

#查询以某个点为半径,方圆200米,涉及到的几何区域
db.t_test_place.find({ polygons:{ $geoWithin:{ $centerSphere: [ [ 108.947604,34.267749 ], 0.2 / 6378.1 ] } } })

#判断坐标是否在多边形区域,在的话就会返回数据,不在则返回空

db.t_test_place.find({xymc:"西安市第一中学",polygons:{$geoIntersects:{$geometry:{ "type" : "Point","coordinates" : [113.330908,23.155678] },}}});

 

标签:map,多边形,Point,mongodb,100%,BMap,new,绘制
From: https://www.cnblogs.com/shendidi/p/16897109.html

相关文章

  • 2803. 凸多边形
    题目链接2803.凸多边形逆时针给出\(n\)个凸多边形的顶点坐标,求它们交的面积。例如\(n=2\)时,两个凸多边形如下图:则相交部分的面积为\(5.233\)。输入格式第一行......
  • Python绘制精美可视化数据分析图表(一)-Matplotlib
    前言数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程.这一过程也是质量管理体系的支持过程.在实......
  • MongoDB - 增删改查
    连接标准URI连接语法通常,可以设定标准的URI连接语法,作为连接配置:mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][......
  • MongoDB配置文件详解
    一配置文件说明MongoDB有两种配置文件格式,分别是:3.2版官方yaml配置文件选项参考用=号的常规格式类似my.conf等常规配置的文件yaml语法的新格式mongodb3.x版本后就......
  • 2211-14MongoDB学习
    学习资源来自菜鸟教程MongoDB数据库MongoDB概念解析不管我们学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是文档、集合、数据库,下面我们挨个介绍。下......
  • vue+echarts绘制地图
    代码实现importchinaJsonfrom'echarts/map/json/china.json'exportdefault{mounted(){letmyChart=this.$echarts.init(document.getElementById("......
  • mongodb通过非映射方式操作documnet
    前言我是MongoDB小白,刚开始学。不过,我猜大多数使用MongoDB的,都是采用映射方式处理的,即需要有定义好的用于映射的实体类。但是这样的话,如果表的结构在未来可能频繁变......
  • Mongodb集群搭建
    mongodb的集群搭建方式主要有三种,主从模式,Replicaset模式,sharding模式,三种模式各有优劣,适用于不同的场合,属Replicaset应用最为广泛,主从模式现在用的较少,sharding模式最......
  • mongodb增删改查 及批量操作(二)
    1.增加insert插入多笔数据db.stu.insert([{_id:3,sn:'003',name:'zhangfei'},{_id:4,sn:'004',name:'guanyu'},{sn:'005',name:'liubei'}])增加复杂的文档db.stu.insert({na......
  • 巨蟒python全栈开发flask7 语音识别升级版&&mongoDB
    1.web简陋版玩具首先,复制上一节课的内容,将其中的语音文件删除掉,放入三个文件,然后,我们需要在app写入下面的内容下图是需要修改的地方:  Recorder_ok.js是一个web录音......