CAD数据分块,偏移校准,加载到百度地图、高德地图、谷歌等地图上
前面分享过一篇如何将CAD海量数据显示在百度地图上(百度地图Canvas实现十万CAD数据秒级加载),但是很多开发者在CAD数据提取时遇到了问题,所以接下来的文章将介绍如何将CAD数据提取。
准备软件:
1. Global Mapper V20.0
2.AutoCAD(我用的是2019,其他版本也可以)
第一部分 CAD提取块
由于一张CAD图数据量巨大,在Global Mapper中加载整张CAD图移动和处理都会非常慢,所以我们先要提取一部分能够较快校准的块。
第一步,将CAD图打开,如图

第二步,在命令栏输入:w 然后回车

第三步,在弹出的窗口中点击选择转换为块,然后点击选择对象前面的按钮,在图上框选出一块比较容易在地图上定位的区域

第四步,选择完毕后按回车,并选择保存的文件名和路径,到此第一部分就完成了

第二部分 Global Mapper地图加载
第一步 打开安装好的Global Mapper

第二步,加载在线底图,点击左上角地球按钮

在弹出的窗口中点击 Add New Source

选择第一项 ESRI RESTful/Google Maps Tiles ,然后确认

将地址填写为:https://khms0.googleapis.com/kh?v=852&hl=zh&x=%x&y=%y&z=%z
然后点击OK

然后给这个地图源取个名称(随意),点击OK

然后选择刚刚添加的数据源,选择Entire Data Source Bounds,最后点击Connect
!!!注意:这里需要用到国外网络!!!
因为国内的地图大多数有偏移,校准后的结果并非准确的WGS84坐标,所以我们需要用到Google无偏移地图

加载成功后可以在软件中看到这个世界地图

第三部分 Global Mapper加载CAD图
第一步,完成第二部分后,选择左上角File -> Open Data Files , 打开我们之前在第一部分保存的CAD块

第二步,选择投影,选成和下图一样

第三步,确定之后等待加载完成,可以看到左侧Workspace里面已经有我们添加的图,此时 右击 添加的CAD图层,然后选择 ZOOM_TO,我们将会看到我们选出的清晰的CAD块

由于CAD图签署了保密协议,所以本文中所有的图都进行了马赛克操作

第四部分 校准CAD图,得到校准参数
第一步,通过缩放地图,在地图上大概找到CAD图在地图上对应的位置,位置调整合适后右击添加的CAD图层,选择 RECTIFT

第二步,在CAD图中选择一个点
然后,在地图中找到对应的点,最好选择交叉线,比较好定位

!!!将左下角四个值记录下来(关键)!!!记录表格参考:

因为基本所有CAD图都只需要平移操作,所以,只需要一个参考点即可,也可多个点求平均值,偏移值 = 实际值-CAD值
偏移值为正数时,在纵向方向上CAD图需要上移,反之下移,在横向方向上偏移值为正则右移,反之左移。
第三步,回到主窗口,右击添加的CAD图,点击SHIFT

选择第一项

将之前计算的偏移值粘贴进来,确定

将地图调节到合适个大小,然后进行微调,可以得到比较准确的偏移参数,如下图所示

CAD数据分块,偏移校准,加载到百度地图、高德地图、谷歌等地图上的更多相关文章
- js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样 ...
- Flutter 初始化数据完成后再加载页面
一.初始化数据完成后再加载数据 1.为了达成这个目标尝试了多种方法总是失败 在Init 和didChangeDependencies 初始化数据过也不行 @override void didChang ...
- CAD从二进流加载数据(com接口VB语言)
主要用到函数说明: MxDrawXCustomFunction::ReadBinStreamEx 从二进流加载数据,详细说明如下: 参数 说明 IMxDrawBinStream* pBinStream ...
- 代码: 两列图片瀑布流(一次后台取数据,图片懒加载。下拉后分批显示图片。图片高度未知,当图片onload后才显示容器)
代码: 两列图片瀑布流(一次后台取数据,无ajax,图片懒加载.下拉后分批显示图片.图片高度未知,当图片onload后才显示容器) [思路]: 图片瀑布流,网上代码有多种实现方式,也有各类插件.没找到 ...
- HIbernate的脏数据检测和延缓加载
脏数据监测: 在一个事务中,加载的数据,除了返回给用户之外,会复制一份在session中,在事务提交时,会用session中的备份和用户的数据进行比对,如果用户的数据状态改变, 则用户的数据即为:脏数 ...
- IOS - UITableView分批显示数据 实现点击加载更多
Phone屏幕尺寸是有限的,如果需要显示的数据很多,可以先数据放到一个table中,先显示10条,table底部有一察看更多选项,点击察看更多查看解析的剩余数据.基本上就是数据源里先只放10条, 点击 ...
- [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件
页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空 ...
- Swift - 本地数据的保存与加载(使用NSCoder将对象保存到.plist文件)
下面通过一个例子将联系人数据保存到沙盒的“documents”目录中.(联系人是一个数组集合,内部为自定义对象). 功能如下: 1,点击“保存”将联系人存入userList.plist文件中 2,点击 ...
- Android中获取网络数据时的分页加载
//此实在Fragment中实现的,黄色部分为自动加载,红色部分是需要注意的和手动加载, 蓝色部分是睡眠时间,自我感觉不用写 ,还有就是手动加载时,不知道为什么进去后显示的就是最后一行,求大神 ...
随机推荐
- Win10系统下安装labelme,json文件批量转化
一.安装环境:windows10,anaconda3,python3.6 由于框架maskrcnn需要json数据集,在没安装labelme环境和跑深度学习之前,我安装的是anacon ...
- 【Spring】org.springframework.web.context.ContextLoaderListen 报错
详细信息如下: org.apache.catalina.core.StandardContext.listenerStart Error configuring application listene ...
- MySql数据库操作命令
数据库 database 命令 ********************************* DATABASE 创建数据库 CREATE DATABASE haodlDB DEFAULT CHA ...
- 简洁明了的Noip考场策略 / 平时做题也适用
1.选择策略: 评估的标准得分的难度不是AC的难度 2.思考问题: 怀疑的眼光审视自己 3.写代码前: 想想可不可以换一种代码实现会好写很多 把自己的思路再理一遍,可以写到纸上,记下来大致关键顺序 4 ...
- Jquery 实现添加删除,checkbok 的全选,反全选,但是批量删除没有实现
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title& ...
- c#实现深拷贝的几种方法
为什么要用到深拷贝呢?比如我们建了某个类Person,并且实例化出一个对象,然后,突然需要把这个对象复制一遍,并且复制出来的对象要跟之前的一模一样,来看下我们一般会怎么做,看代码 public cla ...
- Salesforce LWC学习(三) import & export / api & track
我们使用vs code创建lwc 时,文件会默认生成包含 template作为头的html文件,包含了 import LightningElement的 js文件以及对应的.js-meta.xml文件 ...
- Ubuntu 16.04 安装 SVN-Client (RaabitVCS)
1.添加源 sudo add-apt-repository ppa:rabbitvcs/ppa 2. 更新源 sudo apt-get update 3.安装依赖库 sudo apt-get inst ...
- 提取html内的文字1
public static string StripHTML(string strHtml) { string [] aryReg ={ @"<scrip ...
- UWP实现吸顶的Pivot
话不多说,先上效果 这里使用了一个ScrollProgressProvider.cs,我们这篇文章先解析一下整体的动画思路,以后再详细解释这个Provider的实现方式. 结构 整个页面大致结构是 & ...