-
使用octomap_server将点云地图转化为八叉树地图和占据栅格地图
2019-06-26 16:27:00Octomap 在ROS环境下实时显示、Lego_loam使用教程两篇博文对如何从PCD创建PointCloud2点云、如何用octomap_server创建八叉树地图和栅格地图已经说的很详细了,但是我在使用时还是遇到了一些问题。 问题1:点云与网格...使用octomap_server创建八叉树地图和栅格地图
说明
Octomap 在ROS环境下实时显示、Lego_loam使用教程两篇博文对如何从PCD创建PointCloud2点云、如何用octomap_server创建八叉树地图和栅格地图已经说的很详细了,但是我在使用时还是遇到了一些问题。
问题1:点云与网格垂直
我用深度相机得到点云地图后,按照Octomap 在ROS环境下实时显示去创建点云地图后发现点云和网格时垂直的
主要是因为我的相机坐标系定义为:z轴往前,x轴往左(不是常见的往右是因为我的图像采集时镜像了),y轴往下,RVIZ默认显示的是xy平面,改成显示xz平面就正常了
另一种办法是像Lego_loam使用教程中那样对点云坐标做变换,绕x轴旋转90度,将z轴指向上方。
Eigen::Affine3f transform = Eigen::Affine3f::Identity(); transform.rotate(Eigen::AngleAxisf(-M_PI/2, Eigen::Vector3f(1,0,0))); pcl::transformPointCloud(cloud, cloud, transform);
我用-pi/2而非pi/2还是因为的坐标镜像问题。
第二种方法其实更好,因为从octomap_server的参数来看,它的坐标系是定义z轴向上的,它得到栅格地图也是默认投影到xy平面。
问题2:八叉树显示不完整
构建八叉树地图时发现地图显示不完整,地面没有显示出来
原因是我的相机与地面之间是有一定高度,octomap_server中的pointcloud_min_z不应该设置为0,而应该取一定的负数范围
<param name="pointcloud_max_z" value="1000" /> <param name="pointcloud_min_z" value="-1000" />
地面就正常显示了
问题3:地面滤除
生成栅格地图后发现地面也被认为是占据状态了
原因是地面的点云也被投影了,应该把地面滤除掉,同样设置好pointcloud_min_z即可
<param name="pointcloud_max_z" value="1000" /> <param name="pointcloud_min_z" value="-0.2" />
-
arcgis渔网分割提取栅格图_ArcGIS创建渔网
2021-01-18 09:52:37点击上面蓝色字体,关注公众号ArcGIS渔网工具,在研究区域创建一定大小的格网,常用于分割地图、采样分析、划分研究单元等,今天介绍如何创建20m×20m大小的格网。创建渔网之前,首先要设置投影坐标系1. 利用ArcGIS...点击上面蓝色字体,关注公众号
ArcGIS渔网工具,在研究区域创建一定大小的格网,常用于分割地图、采样分析、划分研究单元等,今天介绍如何创建20m×20m大小的格网。创建渔网之前,首先要设置投影坐标系1. 利用ArcGIS3D分析工具中的提取栅格边界工具,获得DEM数据的范围
结果图下:
2. 创建渔网 ArcToolbox > Data Management Tools > Feature Class > Create Finshnet
设置模板范围为影像边界,在模板范围中选择刚才生成的最小外接矩形就会在选项下方自动生成一个渔网范围
成果如下:
3. 打开”按位置选择”,利用影像边界选择与边界相交的网格.
结果如下:
4. 导出所选网格,重新加载,效果如下:
5. 网格属性默认从下往上排列,现通过计算,将其设置其编号从上到下排列
6. 打开渔网属性表,用渔网网格总数减去FID,得到至上而下的编码排列方式
效果如下:
效果如下:
来源:坏狐狸GIS设计
版权归原作者所有,如有侵权请立即联系小编删除
技/术/让/工/作/更/高/效
微信:hhlGISsj
邮箱:hhlgis@126.com
-
镶嵌数据集管理栅格数据辅助晕渲地图制作
2014-01-11 15:38:53本文介绍如何通过镶嵌数据集实现晕渲地图制作。 在gdb数据库上鼠标右键,选择弹出菜单中“新建(N)”菜单项的二级菜单“镶嵌数据集(O)…”,如下图所示 在弹出的窗口中输入镶嵌数据集名称、坐标系,点击...从ArcGIS10开始,对于栅格数据的管理又多了一种方法,那就是使用镶嵌数据集。本文介绍如何通过镶嵌数据集实现晕渲地图制作。
在gdb数据库上鼠标右键,选择弹出菜单中“新建(N)”菜单项的二级菜单“镶嵌数据集(O)…”,如下图所示
在弹出的窗口中输入镶嵌数据集名称、坐标系,点击确定按钮创建镶嵌数据集。
向镶嵌数据集中添加栅格数据。在镶嵌数据集鼠标右键,弹出菜单中选择“添加栅格数据(A)…”菜单项
选择要添加的栅格数据,如下图所示
添加栅格数据后,在ArcMap中浏览镶嵌数据集,显示的效果如下图所示
在镶嵌数据集上鼠标右键,弹出菜单中选择“属性”菜单,弹出的镶嵌数据集属性窗口中选择“函数”选项卡,如下图所示
在函数选项卡中,镶嵌功能上鼠标右键,弹出菜单中选择“属性”菜单,在栅格函数属性窗口中选择常规选项卡,将输出像素类型设置为16位无符号,然后点击确定按钮,如下图所示
在镶嵌功能上鼠标右键,选择“插入—色彩映射函数”,如下图所示
在弹出的栅格函数属性窗口中,选择色彩映射表文件,如下图所示
在色彩映射表函数上鼠标右键,选择“插入—色彩映射表至RGB转换函数”,如下图所示
在弹出的栅格函数属性窗口中,将输出要素类型设置为8位无符号
在色彩映射表至RGB转换函数上鼠标右键,选择“插入—全色锐化功能”,如下图所示
在弹出的栅格函数属性窗口中,进行如下图所示的设置
n 全色:选择之前添加的栅格数据
n 方法:选择简单平均值
在上一步添加的栅格数据上鼠标右键,选择“插入—山体阴影功能”,如下图所示
在弹出的栅格函数属性窗口中设置山体阴影的Z因子,如下图所示(设置原因及设置的方法请参见《山体阴影》一文中的有关山体阴影Z比例因子的描述)
在全色锐化功能上鼠标右键,选择“插入—拉伸功能”,如下图所示
在弹出的栅格函数属性窗口中进行如下图所示的设置
n 类型:最值
n 使用Gamma:勾选上
n 更改Gamma值为0.5
n 修改最小值为10,最大值为220
至此,镶嵌数据集的有关设置完毕,最终浏览效果如下图所示
-
QGIS 3.10 栅格样式与栅格分析
2020-06-04 17:55:23通过人口网格数据创建2000年与2010年之间世界范围内人口变化专题地图(thematic map)。 将会学到的其他技巧 如何在图层之间复制/粘贴样式。 获取示范数据 示范数据采用哥伦比亚大学的网格化世科学观测与研究经常产生栅格(raster)数据集。栅格是由包含特定数值的像元(pixel)组成的网格(grid)。通过对这些数值进行数学运算,可以完成有价值的分析。QGIS的栅格计算器(Raster Calculator)内置了栅格分析功能。
本教程将演示栅格数据样式选项与栅格计算器的使用。
任务概述
通过人口网格数据创建2000年与2010年之间世界范围内人口变化专题地图(thematic map)。
将会学到的其他技巧
- 如何在图层之间复制/粘贴样式。
获取示范数据
示范数据采用哥伦比亚大学的网格化世界人口数据集v4(Gridded Population of the World (GPW) v4),使用全球2.5度分(Degree Minute)分辨率的人口数(Population Count),数据格式为GeoTiFF,时间为2000年和2010年。
数据下载地址为:
http://www.qgistutorials.com/downloads/gpw-v4-population-count-rev11_2000_2pt5_min_tif.zip
http://www.qgistutorials.com/downloads/gpw-v4-population-count-rev11_2010_2pt5_min_tif.zip
将QGIS界面设置为中文
制作地图之前,请将您的QGIS软件界面设置为简体中文(如果您已经设置过了,可以忽略本节后续内容)。操作方式为:通过菜单【Settings】->【Options…】打开对话框,选择其中的【General】标签,找到“Override system locale”前面的复选框并打勾,在“User Interface Transaction”下拉框中找到并选择“简体中文”,单击【OK】,退出QGIS。重新启动QGIS后即可看到简体中文界面。
详细操作步骤
-
解压缩下载的两个数据集。打开QGIS,在【浏览】面板中找到解压缩后生成的文件夹,选中gpw-v4-population-count-rev11_2000_2pt5_min.tif文件,拖拽到地图画布中。
-
【图层】面板中打开了gpw-v4-population-count-rev11_2000_2pt5_min图层,采用相同步骤,把gpw-v4-population-count-rev11_2010_2pt5_min.tif也添加到地图画布中。
-
点击【属性】工具栏中的【识别要素】按钮,查看图层包含的信息。按钮呈选中状态后,点击地图任意区域。
-
地图右侧的【识别结果】面板中列出了鼠标点击位置的像元取值。找到【识别结果】面板下方的【模式】下拉框,点击选择“从上往下”。在此模式下,不仅会显示最上方图层当前点击位置的像元取值,同时会把所有其他图层当前位置的像元取值也显示出来。示范数据集的分辨率大约是5km*5km,单个像元的取值表示该区域(25平方公里)内的人口数量。查看【识别结果】面板,对比鼠标点击位置对应的像元取值,即可得出该地区不同时间人口数的差异。
-
关闭【识别结果】面板,从【图层】面板顶部点击【打开图层样式面板】按钮,为图层设置样式。
-
在【图层样式】面板中,点击【渲染类型】下拉列表,选择【单波段伪彩色】。
-
【单波段伪彩色】渲染器采用“渐变颜色”渲染图层。默认情况下,渐变色是从白色到红色,像元最小值默认为白色,像元最大值默认为红色,中间的像元用线性插值的方式确定其颜色值。示范数据集中,大部分像元的取值是0,为最小值,因此地图呈现出大片最小值代表的颜色,效果非常不好。展开“最小/最大值设置”,选择【Cumulative count cut】选项,将标准数据范围设置成数据原始取值的2%-98%,这意味着奇异值(outlier)将不会被设置成最小值或最大值,地图可视化的效果将显著改观。
-
关闭【图层样式】面板。QGIS提供了一个简便的方法,可以快速把一个图层的样式复制给另一个图层。右键点击gpw-v4-population-count-rev11_2010_2pt5_min图层,在弹出菜单中点击【样式】->【复制样式】。
-
右键点击gpw-v4-population-count-rev11_2000_2pt5_min图层,在弹出菜单中点击【样式】->【粘贴样式】。
-
通过为两个图层设置完全相同的样式,可以方便地比较相同数据类别在不同图层中的差异。通过切换顶部图层gpw-v4-population-count-rev11_2010_2pt5_min的可见性,可以直观看出2000年与2010年人口的变化情况。
-
点击菜单【栅格】->【栅格计算器】,在弹出的“栅格计算器”对话框中计算两个图层像元取值的差,得到新的栅格图层。新图层的每个像元取值代表2000年到2010年人口数的变化情况。
-
在【栅格波段】列表框中双击,可以选中图层。波段的命名格式为:图层名+@+波段号,两个示范图层都只有一个波段,因此波段名就由栅格图层名+@1组成。在【栅格计算器】下方的“栅格计算表达式”文本框中输入表达式,可以对像元取值进行数学运算。例如,要得到2000年到2010年间人口变化情况,可以用2010年栅格图层像元取值减去2000年栅格图层像元取值。在“栅格计算表达式”文本框中输入下面的表达式,然后点击【输出图层】旁边的【…】按钮。
"gpw-v4-population-count-rev11_2010_2pt5_min@1" - "gpw-v4-population-count-rev11_2000_2pt5_min@1"
-
【输出图层】设置为:population_change_2010_2000.tif,点击【OK】按钮开始计算。
-
计算完成后,新图层population_change_2010_2000已经自动添加到【图层】面板中,但是可视化效果并不好。点击【打开图层样式面板】按钮,在【图层样式】面板中选择样式参数,使人口的正增长和负增长更加直观。
-
点击【颜色渐变】下拉列表,选择【Spectral】,然后点击【反转颜色渐变】,用蓝色代表小的像元值,用红色代表大的像元值。
-
至此,得到了不错的可视化效果,但难以解读出人口变化的空间分布规律。如果把人口变化数据分为四个级别:人口减少、人口持平、人口增长和人口快速增长,并用不同颜色来表示,将会得到一幅更好解读的地图。在分类列表中点击第一行,按住键盘上的Shift键,点击最后一行以选中列表中的所有行,然后点击【移除选中行】。
17.点击【插值】下拉框,选择【离散】,分类列表框里目前没有条目,需要手动创建一个颜色渐变(Color ramp)。点击【手动添加值】为分类列表框增加一个条目,“值<=”字段设置为-100,“标签”字段设置为“人口减少”,为该类别指定蓝色,选中图层(即population_change_2010_2000)中所有小于等于-100的像元都将变为蓝色,值得注意的是,地图画布中此时只显示人口减少的区域,其他区域都被隐藏了。
-
按照同样的步骤,用100、1000、100000作为人口持平、人口增长和人口快速增长类别的人口数量上限值,为每个类别选择不同颜色,完成样式设置。
-
设置完成后,关闭【图层样式】面板,一幅世界范围2000年到2010年人口变化专题地图就制作完成了。
本教程到此结束。
吴建玲
2020年6月4日
版权声明
本文欢迎转载,转载时请注明出处。
本文主要翻译并改编自qgistutorials网站,原文链接为http://www.qgistutorials.com/en/docs/3/raster_styling_and_analysis.html,原文已根据《知识共享署名4.0国际许可协议(Creative Commons Attribution 4.0 International License)》获得许可,在此向原文作者乌加尔·甘地(Ujaval Gandhi)致以敬意,感谢他为分享QGIS技术做出的贡献。
-
dbf文件怎么创建_如何创建空间权重矩阵
2020-11-28 11:46:03点击上方蓝字,关注公众号更多空间计量推文:超好用的空间数据分析软件GeoDa(点击阅读)ArcGIS地图制图(点击阅读)ArcGIS矢量数据空间分析(点击阅读)ArcGIS栅格数据空间分析(点击阅读)ArcGIS空间统计分析(点击阅读)... -
矩阵平均路径长度_如何创建空间权重矩阵
2021-01-15 10:08:26点击上方蓝字,关注公众号更多空间计量推文:超好用的空间数据分析软件GeoDa(点击阅读)ArcGIS地图制图(点击阅读)ArcGIS矢量数据空间分析(点击阅读)ArcGIS栅格数据空间分析(点击阅读)ArcGIS空间统计分析(点击阅读)... -
arcgis 将栅格值提取到点_ArcGIS实用制图技巧——如何制作“阴影”效果
2021-01-05 10:53:41左侧地图的图形背景组织很差。右侧地图通过使用阴影效果突出了重点内容。这里,我将要介绍两种阴影效果的创建方法:第一,纯色阴影(single color);第二,渐变阴影(gradient pattern)。创建阴影效果,分以下2个步骤... -
osm格式地图能修改路名吗_如何基于OSM数据绘制和可视化自定义地图?
2020-12-20 18:43:47地图创建分为几个步骤:输入地理数据(具有适当标签的点,线和面)样式(在地图上指定地图项外观)渲染为栅格图像(使用渲染软件将地理数据和样式转换为图像)您需要一个能够在易于使用的UI之后为您完成所有怪癖的工具。... -
Acrgis实例操作11--计算整个栅格区域值的总和、人口密度分布趋势图、点数据批量生成面数据
2020-07-24 22:54:201、如何计算整个栅格区域值的总和? 1)查看默认统计参数。 右击栅格图层,打开【属性】对话框,选择【源】选项卡。可以查看到【栅格信息】和【统计数据】。 栅格信息: 统计信息: 2)创建统计区域。 本例中,为... -
(九)ArcGIS API For Javascript调用结果地图服务
2016-10-01 09:49:061.引言结果地图服务也是GP服务的一种,当GP服务的结果返回栅格数据时,我们往往使用结果地图服务来对生成的栅格数据进行渲染,如何发布结果地图服务请看:如何发布结果地图服务 本实例是:克里金差值2.ArcGIS API... -
ai建立使用图案_【AI制图技术】地图花边的制作技巧
2020-12-20 14:31:03使用Adobe Illustrator图案画笔制作地图花边非常简单和方便,之前我们曾发布过一篇公众号文章如何在Adobe Illustrator中创建图案画笔(地图花边制作),类似于面状平铺图案创建图案色板(面符号),图案画笔通过沿线... -
【技术类】【ArcGIS对国产卫星的支持2:高分一号卫星】篇11、将镶嵌数据集发布为切片地图服务
2014-03-28 14:06:15ArcGIS Online ... 下例阐述如何利用ArcGIS Online将镶嵌数据集发布为切片地图缓存。对于单景的影像或栅格产品同样可以利用这种方式进行切片地图缓存发布。 第一步 通过镶嵌数据集创建切片缓存 打开M -
mobile-dotnet-samples:适用于Xamarin Android,iOS和UWP .NET的CARTO SDK示例-源码
2021-02-06 02:21:02适用于CARTO Mobile SDK的.NET示例 以下是可在两个.NET平台中使用的CARTO Mobile SDK示例: ...自定义栅格数据源-创建和使用自定义(合并)栅格图块数据源 地面叠加层-Addoung地面栅格叠加层 WMS地图-矢量底图顶部的WMS -
2.4 环境的表现(第二章 自动驾驶的软硬件构架)
2020-11-02 22:13:49然后,我将对每个地图进行更详细的解释,以便您能够更好地理解在整个专门化过程中如何创建和使用它们。 我们要讨论的第一个地图是定位地图。 当汽车在环境中移动时,使用一组连续的激光雷达点或相机图像特征创建此... -
ArcGIS中的 Map 对象
2013-05-09 10:15:00Map 对象是ArcGIS Engine 的主要对象,本章将给大家介绍地图组成结构,如何创建地图,如何对组成地图的对象进行操作,在介绍这些内容时尽量结合ArcMap 学习效果会更好。在Map 对象上能显示的图形有两类一类是地理... -
ArcMap使用手册.pdf
2012-02-19 15:02:46如何在地图上参照数据 130 在地图上参照数据 131 修复和更新数据链接 132 第五章 操作图层 135 图层文件描述 136 图层属性功能 137 添加图层 138 改变图层文本 139 图层显示顺序 140 复制图层 141 删除... -
QT中调试运行ROS程序
2020-06-07 17:18:56占据栅格地图 https://zhuanlan.zhihu.com/p/21738718 如何用Qt对ROS项目进行调试及创建GUI界面 https://blog.csdn.net/u013453604/article/details/52167213 将ROS工程编译运行正常 打开添加了ros环境的qt(见之前... -
ArcGIS空间分析中文版使用手册 2
2009-09-13 16:47:16用概念模型创建适宜性地图 61 理解栅格数据与分析 第四章 理解栅格数据 73 理解栅格数据集 74 坐标空间和栅格数据集 78 离散的和连续的数据 82 栅格数据集的精度 84 栅格编码 85 在栅格数据集中表达要素 86 为栅格... -
ArcGIS中使用拓扑规则确保两个多边形图层重合
2020-08-06 14:50:33因为数字化的源地图不同,两个栅格文件的轮廓不完全重合。本文展示如何运用拓扑规则用编辑工具纠正错误。 所需数据:landuse.shp 和soils.shp,基于UTM 投影系统的两个多边形shapefile 文件 一. 建立拓扑关系 要在... -
arcgis的统计分析指导及练习数据
2014-02-22 16:15:23练习4教你如何对练习1和练习3中创建的表面进行比较,并判断哪个表面对未知值的预测更好。 练习5指导你创建臭氧浓度超出临界值的概率图,从而生成第三个表面。 练习6告诉你怎样利用ArcMap的功能将你在练习3和练习5中... -
Free-SpaceEstimation 无障碍物空间估计 稠密地图 栅格地图 动态规划 高度分割 路面信息提取 2D Object Detection 2d目标检测 RCNN 3D Object Detection 3D目标检测 动机 Semantic Segmentation 语义分割 Instance-...
-
arcgis工具
2012-10-22 22:37:3115. 如何用面生成中线 先把数据转成coverage格式,workstion里有Centerline命令。 另外ArcToolBox->Data Management Tools->Generalization->Collapse Dual Lines To Centerline也行。不过以上做法要求边界是双线... -
2009.6.19—30举办3S研讨会暨Google Earth与Google Map等仿真建模与共享及ARCGIS与遥感高级程序员培训班
2009-05-23 18:27:502、如何创建,使用,编辑以及管理存储在GEODATABASE数据模型中空间数据和属性数据 主讲人:GIS硕士、南京路川公司专业技术开发工程师 3、以ARCCIS9的功能结构主线,学习利用ARCCIS进行数据输入,数据编辑,地图配标... -
arcGis教程完整版
2012-11-15 00:06:333.1.3 图层、数据集、地图............................................................................................15 3.1.4 管理内容表....................................................................
-
linux_fpbigtool.zip
-
1金属的晶体结构-1.ppt
-
Windows Server 2012 修改域控域名
-
深究字符编码的奥秘,与乱码说再见
-
正则表达式不完全手册.pdf
-
libFuzzer视频教程
-
你知道CAD绘图软件中的工具选项板是做什么的吗?
-
2021年软考系统规划与管理师-上午历年真题解析视频课程
-
web前端学习资料集合.txt
-
怎么选择硬质合金刀具
-
python数字的小总结
-
SpringBoot 使用RestTemplate
-
构建安全的数据访问
-
基于Flink+Hudi构建企业亿级云上实时数据湖教程(PC、移动、小
-
2019第十届蓝桥杯JavaA组题解
-
OpenYurt 如何 “0 侵入” 攻破云边融合难点
-
VMware vSphere ESXi 7 精讲/VCSA/VSAN
-
MySQL 索引
-
医药内部管理系统、医生管理、OA办公后台管理、会议管理、用户管理、物料管理、活动管理.rp
-
云开发后台+微信扫码点餐小程序+cms网页管理后台 含后厨端和用户端