如何使用MongoDB切图

版权声明:转载来源 《张益达的博客》 https://blog.csdn.net/weixin_44538399 https://blog.csdn.net/weixin_44538399/article/details/86541813

今天我给大家介绍一种切图方式:MongoDB

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。它能在高负载的情况下,添加更多的节点,可以保证服务器性能。我举个例子,如果我们将一副地图切成上百万张地图瓦片,需要切多久?也许切一天也切不完。但是如果用MongoDB采用分布式切图,我们就可以开启四、五个服务一起切,就可以大大提高切图效率。

由于MongoDB是一个文件储存型的数据库,所以在使用它之前要先将数据库文件下载到本地。

然后我们要启动bin目录里面的mongod.exe,这个虽然是可执行的文件,但是它不可以通过双击运行,而是需要通过cmd控制台才能运行。

使用win+R快捷键,输入cmd打开控制台,我们MongoDB文件是放在F盘,所以我们先要跳转到F盘,在控制台输入“F:”,然后再跳转到 \mongodbServer\bin\目录下

然后运行MongoDB数据库:mongod.exe –dbpath F:\MongoDBPath –port 27010
-dbpath 等是配置服务器的参数,-dbpath 表示数据库数据存储的物理路径,-port表示服务器使用的端口号。当出现“waiting for connections on port 27010”就表示你的MongoDB服务已经启动了!

然后打开SuperMap iServer,选择【集群】>【分布式切片库】>【添加分布式切片库】

因为我们的MongoDB是本机启动的服务,所以这里服务地址需要用到本机IP,如果不知道自己的本机IP,可以打开cmd,输入ipconfig查看。

填写完所需要的数据,点击添加切片库

切片库列表就会出现刚添加的服务。注意,只有连接状态为才表示启动并连接服务器成功

然后我们来开启第二个MongoDB服务器。创建一个新建文件夹,将第一个MongoDB文件夹里的所有文件都复制到这个新建文件夹中,按刚才启动第一个服务的方法来启动第二个服务器。注:端口号及存储路径不能重复

扫描二维码关注公众号,回复: 5447187 查看本文章

接下来准备工作完成,开始切图。

然后我们可以根据需求的比例尺来进行合理分配,例如现在自定义了6个比例尺,前5个的地图切片数量是68560,最后一个1/300比例尺的切片数量是114646,所以我们可以把1/300比例尺分配给demo2

切图完成,然后就要进行地图切片的合并。【服务】>【高级】>【切片更新】>【添加切片更新任务】

然后耐心等待更新完成。

MongoDB的操作也许过于复杂,但它的优势是分布式、多进程处理数据,对于处理大量的切片数据可以大大的提高效率。若如果切片数量少,还是使用ugcv5更简便一些。总的来说,灵活运用,便能大大提高工作效率。

猜你喜欢

转载自blog.csdn.net/weixin_44538399/article/details/86541813