
OpenStreetMap&GIS
文章平均质量分 81
介绍OpenStreetMap的相关搭建技术和周边技术点
丁劲犇
五香面蚕豆,麻酱豆腐卤;戗刀磨剪子,钢筋锅换底。修----理伞,有乌龟壳王巴盖拿来卖,甜--米酒----来碗撒汤,尅个烧饼,一两碗友谊巷的豆腐脑,三四个相山庙的夜归人。岁月催银鬓,光阴染发梢,濉河斜见柳,秋雨且潇潇。抱病婉谢红尘宴,遮颜入市觅佳肴。曲终席尽人未散,把酒对月话故交。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2025年1月OpenStreetMap渲染工具链技术变化和数据导入情况
2025年,又是一年。不知什么时候,导入OpenStreetMap离线数据成了我折腾电脑的一个习惯。本文记录了新的技术变化原创 2025-01-14 07:45:00 · 1800 阅读 · 0 评论 -
用git bash调用md5sum进行批量MD5计算
对于非常大的文件或者很重要的文件,在不稳定的网络环境下,可能文件的某些字节会损坏。此时,对文件计算MD5即可以校验其完整性。最简便的方法是使用git自带的md5sum进行计算,借助find批量匹配执行,用diff查看差异。原创 2024-01-19 13:12:31 · 1749 阅读 · 0 评论 -
你好2024,OpenStreetMap 20 周岁
2004年,OpenStreetMap在英国诞生。2024年,OpenStreetMap 满 20 周岁,其愿景是创建一个免费的、可编辑的世界地图。当时,地图数据的获取往往受到限制或价格昂贵。经过20年的发展,该数据集合成为了最为全面的街道级别开源数据。本文介绍导入2014年1月数据的情况。原创 2024-01-15 07:02:50 · 1677 阅读 · 0 评论 -
地理测绘基础知识(6) 照射距离/俯仰等值线计算
上一篇文章中,我们采用HPR坐标系里的向量旋转,在地表绘制了这样的螺旋线:在复杂多样的现实应用需求中,还有一种更为普遍的计算需求,就是求取地表到全向光源的距离为D的所有点的集合(用多边形组成的近似椭圆区域)。本文在椭球模型下,讨论并实现了一类等值线计算算法。根据给定的投影朝向,获得朝向上的等值线的经纬度坐标。原创 2023-09-10 10:26:36 · 586 阅读 · 0 评论 -
地理测绘基础知识(5) 由光源矢量发起的照射计算
我们解决了照射计算的基本模型关系,并能够根据手电的位置指向,在地表求取光斑。但是,前文使用的是设置探针求取场强的点求取,对于绘制地表的等值线包络图、求取地表包线的具体解析情况,就不够用了。使用单点的方法计算量大,且步长不容易控制。本文给出基于向量旋转与交汇的计算算法。原创 2023-09-05 10:30:00 · 245 阅读 · 0 评论 -
地理测绘基础知识(4) 由地表探针发起的照射计算
照射计算,是一种常用的三维几何计算。已知一个光源的光强图,计算光源投射到地表各处的功率密度。这种计算需求可以直观的理解为计算已知位置、指向、聚光特性的手电筒,计算地表某地点强度。本文的推导涉及很多旋转,很容易出错和糊涂。当时刚刚毕业时,通宵推导、用Turbo C花了很大力气实现,结果笔记、程序都找不到了。现在已经白发丛生,从头重温一遍,也很是有趣。本推导可能存在符号反转等错误,等笔者后续做更有意思的场景时,不断验证才能更正。大家千万不要把这个代码真拿去仿真去了,十有八九会踩坑(-!原创 2023-09-02 13:57:09 · 318 阅读 · 0 评论 -
地理测绘基础知识(3)-观测与遮挡
在上一篇文章中,我们介绍了椭球模型下的一系列基础的坐标操作。本节,介绍观测与遮挡问题。观测主要用于从观察点A观测大地标准点B,用来解决观测的仰角、方位角与大地坐标系之间的关系。在没有GPS卫星的时代,为了测量一个位置的坐标,往往会设置多个采样点,不断测角、测距、测气压,“跑断腿”。在现代,这种基于方位俯仰的测量技术已经用的不多了,但方位俯仰的计算还是很有用的。遮挡问题和观测是同一个问题,解决的是从A点能不能看到B的问题。有时候计算A,B的共视问题时用的很多,尤其是其中一方为高山或者飞机时。原创 2023-08-18 11:24:02 · 715 阅读 · 0 评论 -
地理测绘基础知识(2)-椭球最短距离计算
本篇,主要介绍已知A\B两个点的经纬度,如何求取椭球上的最短距离、路径。要讨论方向,会引出两个概念。第一个是切平面坐标系,这是讨论"方向"的基础。第二个是运动,即考虑不同时刻、不同位置之间的关系与变化规律。原创 2023-08-13 21:06:08 · 1273 阅读 · 0 评论 -
地理测绘基础知识(1) 坐标系经纬度与ECEF直角坐标的基本换算
我们目前最常用的全球坐标系是WGS-84坐标系,各种手机、地图基本用经纬度来标记位置。然而,经纬度对于空间的计算是很复杂的,需要很多三角函数操作。平面直角坐标系利用向量的运算,可以非常方便的计算角度、距离等参数,在实际应用中往往作为中间计算的工具。目前用到的很多GIS、遥感与测绘工具里都有这种功能,比如利用 libproj、RTK等工具,直接进行转换。为了教学方便,我们还是从头开始,实现这这种坐标的转换。原创 2023-08-11 21:00:34 · 4999 阅读 · 10 评论 -
以研究用途搭建OpenStreetMap Virtualbox服务器
又到了新年伊始,下载OpenStreetMap全球数据的时候了。结果惊奇的发现,主站已经无法打开。仔细了解了原委,表示理解。好在PBF数据依旧可以获取,只是瓦片服务已经关停。目前,OpenStreetMap只适合个人只读下载,学习GIS所用。原创 2023-01-13 09:00:00 · 1131 阅读 · 0 评论 -
回忆2012-入坑OpenStreetMap10年纪
2007年,笔者第一次接触Open Street Map。由于一直出于自己的兴趣,断断续续玩到2012年,第一个稳定的OpenStreetMap渲染服务器虚拟机镜像搭建完成,同时完成了部分Qt/MFC客户端代码。一晃十年过去了,2022年1月,基于Manjaro的最新VMBox服务器镜像已经发布,具体参见www.goldenhawking.org:8088作为末日危机、全球断网前必须收集的重要数据财富,OpenStreetMap有很多值得书写的知识点、亮点。每年更新一版全球镜像,可玩性很高,从PostG原创 2022-01-13 23:06:07 · 1287 阅读 · 3 评论 -
使用Manjaro作为OpenStreetMap瓦片服务器
跟踪OpenStreetMap瓦片服务器也有快10年了。之前一直用Ubuntu,后来迁移到Archlinux下。近期,发现基于Archlinux的Manjaro非常好用,简约美观,故而迁移到Manjaro下。注意事项:1. 中文字体安装Ubuntu 字体或者谷歌字体,比较美观。使用Unifont,中文显示很挫。另外,把字体文件夹设置位fonts,别忘了打开递归开关“font_dir_recurse"。2. mod_tile 安装新版的mapnik 3配合apache mod_tile,要从AUR安原创 2021-04-19 20:15:11 · 726 阅读 · 3 评论 -
获得谷歌无偏TMS卫星影像的简单方法
最近,发现了谷歌API中指定投影系的方法,特此记录。大家知道,谷歌地球默认的瓦片在国内采用的是火星坐标。实际上,可以直接删除几个参数,获得墨卡托影像。mt3.google.cn/vt/lyrs=s@110&hl=zh-CN&gl=cn&src=app&x=26783&y=13459&z=15...原创 2020-02-18 08:09:38 · 2654 阅读 · 1 评论 -
OpenStreetMap 2020年全球数据导入benchmark
下载并导入了2020年1月6日的全球PlanetOSM数据,PBF49GB左右。原创 2020-01-22 10:37:01 · 1234 阅读 · 1 评论 -
openStreetMap数据分析举例-使用Qt统计城市科技指数排名
openstreetmap是一种完全开放的地理信息系统,数据由个人、公司免费捐赠、维护。在这个博客的前文中,我们大多围绕搭建地图环境展开讨论。实际上,它更具价值的是数据本身。今天,我们来看使用Qt5分析openstreetmap数据库(样本为2019-01导入全球数据),获得城市科技指数这个自定义指标。openSteetMap详细知识、数据、虚拟机见:http://www.goldenhawk......原创 2019-06-08 08:32:27 · 1418 阅读 · 1 评论 -
OpenStreetMap DEM 瓦片服务器更新
2019年的 OpenStreetMap 瓦片服务器更新完成。改进如下:1、样式工程升级到2019-012、分离DEM图层为独立的透明背景瓦片,这样可以有选择的加载原始瓦片或者dem瓦片3、ArchLinux虚拟机软件包升级到2019-01,PostgreSql至11目前,全球镜像正在上传,感兴趣的同学可以预计在2月4日后去这里依照链接下载。【关于近期的实验】1、尝试基于changes......原创 2019-02-02 23:03:42 · 1500 阅读 · 0 评论 -
管道操作——为GIS准备GDAS气象数据
很多出国深造的同学,都对国外高校中的计算机教学、使用记忆犹新。国内一般院校的老师很多都是从微软的DOS起步开始捣鼓微型计算机的,基本上对unix系统用的不多。对命令行操作,也停留在dos命令的概念上。最近,一位同学毕业设计遇到了读取天气预报数据的问题,在linux下摸索了很久,还是蛮有意思的。征得他的同意,把他的问题作为unix管道操作一例分享一下。1 问题背景该学生毕业设计是做一个天......原创 2018-06-11 19:17:04 · 6925 阅读 · 11 评论 -
使用openCV+Qt+fcgi 为OpenStreetMap瓦片添加热力图图层
在搭建如OpenStreetMap等瓦片服务器的过程中,我们会关心当前服务器上哪些瓦片已经存在(被渲染了)、哪些瓦片被访问量大,哪些少。 统计瓦片的历史记录,可以直接扫描缓存,或者通过数据库来完成。如果能够把统计数据直接叠加到地图上显示,就更棒了!今天,就来动手制作一个webService,用来生成每个瓦片的访问情况图。接口设计我们希望,这个服务本身可以作为一个图层与现有的OpenS......原创 2018-05-26 20:15:47 · 5045 阅读 · 5 评论 -
使用hstore实现OpenStreetMap瓦片汉化
就着2018年元旦的契机,我的ArchLinux Openstreetmap服务器要导入近期的数据,再一次遇到了汉化的问题。这一次,不准备用过时的地名大字典来匹配了。采用OpenStreetMap官方的国际化策略,可以方便的得到地名汉语标记。...原创 2017-12-30 14:14:43 · 5002 阅读 · 1 评论 -
ArchLinux Openstreetmap 瓦片数字高程服务器演示网址变更解释
为遵守80端口向外提供Web业务必须申领许可证要求,现取消原有演示网址的80端口直接访问,改为8088端口。地址:http://www.goldenhawking.org:8088,服务器镜像仍旧可以从百度云盘下载。 OpenStreetMap 是一款由网络大众打造的开源地图服务。OpenStreetMap利用公众集体的力量和无偿的贡献,来完善全球地理数据。它是非营利性的,它将数据回馈给社...原创 2017-08-22 21:08:41 · 2502 阅读 · 4 评论 -
一种不太完善的OpenStreetMap字典汉化方法
根据世界地名词典,对OpenStreetMap进行汉化,使用了下面的代码。不太完善,这里仅贴出来。 地名字典在我的资源世界地名大词典下载。原创 2017-08-14 09:20:58 · 1958 阅读 · 0 评论 -
使用1角分高程数据为OpenStreetMap服务器添加海洋等深线
在前文中,我们使用NASA SRTM 数据为陆地添加了3角秒的等高线图层。今天,我们继续为海洋添加等深线。海洋的等深线数据,开放标准的以 etopo1为著名。此数据的分辨率为1角分(arc-min),即 1/60 度。其dem图层为 WGS-84标准投影,在官方网站可以下载。我选择的是grid配准的binary类型数据。原创 2017-04-08 11:10:42 · 4098 阅读 · 0 评论 -
为OpenStreetMap瓦片服务器添加3弧秒全球DEM图层
在上一篇文章里,我们试着测试了局部3弧秒(即1/1200度)分辨率的 DEM等高线嵌入OSM图层的效果。下面,来分享一下批量导入全球的DEM数据。原创 2017-03-16 12:44:37 · 2979 阅读 · 1 评论 -
使用Phyghtmap为OpenStreetMap添加 DEM 高程图层
玩OSM很久了,今天准备为自己的ArchOSM服务器添加NASA的SRTM图层。 - 第一步,获取DEM数据并转化为OSM使用的xml或PBF格式文件 - 第二步,为osm2pgsql指定style与数据库,导入PBF文件 - 第三步,嵌入DEM图层到Mapnik的样式表 - 第四步, 重新渲染瓦片我们得到了详细的等高线地图!...原创 2017-03-09 22:11:31 · 4052 阅读 · 1 评论 -
Archlinux作为Openstreetmap服务器滚动更新
应用Archlinux作为Openstreetmap瓦片服务器已经一年了,总体情况比想象的好的多。期间,遇到了内核次版本升级,以及postgresql数据库升级,有惊无险,这里做一个记录。注意内核版本与硬件驱动的同步更新,如果内核更新时,显示模块以及一些关键模块没有更新,如vmbox的驱动,则等待一个礼拜后再观察。注意,在postgresql数据库主要版本滚动前,要把数据整体导出,清空。升级后,...原创 2017-02-25 12:23:10 · 2021 阅读 · 0 评论 -
利用 MSYS2 及osgEarth 构建三维地球模型(1) 软件配置
提到开源三维地球模型绘制,比较有名的一个是基于 OpenSceneGraph 的 osgEarth。 在 windows下,编译这两个东西是非常恐怖的事情,存在大量的依赖性。好在,有万能的MSYS2,使得一切变得简单了。原创 2017-02-12 21:57:46 · 4694 阅读 · 0 评论 -
ArchLinux-- OpenStreetMap瓦片服务器的新宿主
ArchLinux是近年来比较火的Linux滚动更新发行版。经过近一年多的测试、实验,笔者认为,ArchLinux尽管在许多地方略显激进,但仍旧适合做OpenStreetMap瓦片渲染服务器使用。这里,和大家分享一下收获。 配置好的镜像文件可从 百度云盘下载7Z压缩包。该镜像已经对地名进行了汉化。...原创 2017-01-21 13:26:01 · 2441 阅读 · 1 评论 -
OpenStreetMap 2017年1月 全球数据导入Benchmark
配置: Motherboard: ASUS Z-170AR CPU: Intel Core i7 6700K @ 4GHZ RAM: DDR4 64GB SSD: SAMSUM 850 1TB 环境: windows 7 x64 Host + Oracle VirtualBox (48GiB Virtual Memory) Archlinx 导入镜像情况:[archosm@archos原创 2017-01-18 07:37:00 · 1883 阅读 · 0 评论 -
回答一个关于OSM技术栈的问题
目前围绕OSM的技术很成熟了,这里介绍一下OpenStreetMap主线的一些名词,以免混淆,举例子! 假设我是地产老板,现在开发了个小区,把以前的一片农田变成了新的道路。1、原始数据 此时,有一个OpenStreetMap志愿者小狐狸恰好从这里路过,利用手持的GPS记录下了新路的轨迹。回到家,她导出了GPS,并在OSM社区上传了她的发现。这段GPS轨迹通过在线编...原创 2016-03-12 18:41:06 · 2239 阅读 · 6 评论 -
Qt 插件综合编程-基于插件的OpenStreetMap瓦片查看器客户端(5) 小结
经过不断试用与修改,这个查看器最终还是完成了设计、实现。查看器,顾名思义,没有编辑功能:说的白一点,只是一个以OpenStreetMap为底图的显示装置罢了。和专业GIS相比,这款基于插件的OpenStreetMap瓦片查看器客户端显得单薄。和消费类GIS(如面向浏览器的地图API)相比,它是本地的,似乎和Native应用更加合拍。 其实一直以来想利用业余时间做这样一个......原创 2016-03-11 23:34:27 · 4723 阅读 · 4 评论 -
Qt 插件综合编程-基于插件的OpenStreetMap瓦片查看器客户端(4) 插件绘图
(相关的代码可以从https://github.com/goldenhawking/mercator.qtviewer.git直接克隆) 我们在前面的叙述中,介绍了插件的运作管理机制。在本章,将介绍插件具体实现过程中,绘图、交互的要点。 1、经度边界处理 地球是一个圆球,从格林威治皇家天文台所在的本初子午线开始,向西为负,向东为正,计量经度。到了太平洋上日期变更线附...原创 2016-01-25 13:15:33 · 2037 阅读 · 0 评论 -
Qt 插件综合编程-基于插件的OpenStreetMap瓦片查看器客户端(3) 插件管理机制
本篇主要介绍了基于插件的OpenStreetMap瓦片查看器客户端的插件管理。首先,在进程创建时,通过初始化插件,确保每个动态链接库中的插件类可为各个独立的视图实例化一一对应的对象。而后,介绍了如何安排插件绘图、为插件送入UI交互消息,以及帮助插件之间、插件与宿主、插件与外部ActiveX宿主之间进行通信。...原创 2016-01-24 14:27:04 · 2388 阅读 · 0 评论 -
Qt 插件综合编程-基于插件的OpenStreetMap瓦片查看器客户端(2)架构设计
(相关的代码可以从https://github.com/goldenhawking/mercator.qtviewer.git直接克隆) 本文的前序章节介绍了坐标系的基础知识。在这一章,我们将进行架构设计。架构是一个软件生命体的骨骼,为了实现灵活的功能扩展,首先要引入插件机制。 鉴于 Qt 框架本身提供了良好的面相对象插件接口开发能力,不妨就利用这个机制来实现我们的意图。...原创 2016-01-22 22:55:01 · 3161 阅读 · 2 评论 -
Qt 插件综合编程-基于插件的OpenStreetMap瓦片查看器客户端(1)-墨卡托投影与坐标控制
本文接着上一篇文章,开始介绍如何把当前需要显示的视窗与OpenStreetMap地图联系起来。引入了几个坐标系,介绍了他们之间的换算关系。原创 2016-01-18 21:26:08 · 5743 阅读 · 6 评论 -
Qt 插件综合编程-基于插件的OpenStreetMap瓦片查看器客户端(0)-引子
OpenStreetMap一般是使用Web服务发布瓦片和矢量数据的。本系列博文主要演示如何使用Qt 搭建一个简单的OpenStreetMap瓦片客户端,实现以下功能:1、OpenStreetMap 服务器瓦片的自动下载与本地缓存。2、基于Qt插件的接口开发技术,实现高度可扩展的图层。提供两个图层插件范例。第一个插件演示了使用底层QPainter实现绘图、量测功能;第二个插件演示了使用QGraphicsScene系列模型-视图架构在可变比例尺地图上进行静态、动态标注的技术。3、基于事件、呼叫的图层原创 2016-01-16 22:57:36 · 4276 阅读 · 1 评论 -
OpenStreetMap服务器搭建显著简化
2010年,一步步DIY自己的OpenStreetMap服务器已经过时,通过多年的发展,在Ubuntu 14.04.2LTS上搭建服务器变得非常简单,无需DIY。本篇文章主要集中回答了读者的问题。原创 2015-07-30 13:21:15 · 5740 阅读 · 3 评论 -
一步步DIY: OSM-Web服务器(八) 使用 C FCGI 返回瓦片并登记下载
卫星图片没有相应的mod_tile可以使用,故而需要我们自己来实现。最简单的方法,就是利用 libfcgi-dev 来写一个C的web-service,通过http://...//satile.fcgi?nRow=row&nCol=col&nLevel=lev 来下载,同时,对不在本地缓存内的瓦片,去网上下载。网上的下载程序不在fcgi里实现了,那样比较重量。可以把需要下载的瓦片登记下来,交给后台...原创 2012-10-14 18:13:40 · 3088 阅读 · 1 评论 -
一步步DIY: OSM-Web服务器(七) 利用 Google WebService 批量下载遥感瓦片数据
(-:写 http://blog.youkuaiyun.com/goldenhawking/article/details/8005564 前面六篇,是集中精力写的,其实,整个流程顺利走过来,花了笔者两个月的时间哦!因为无聊的网速、不给力的硬盘,以及停电,几乎到了恨不得砸机器的地步啦!~~ 走到现在,我们有了B/S C/S两种架构的地图服务,可是,总觉得还缺了什么——对了,只有矢量怎么行?!我们...原创 2012-09-21 23:25:47 · 6067 阅读 · 2 评论 -
一步步DIY: OSM-Web服务器(六) C/S架构客户端开发中的细节问题
虽然Ajax的Web应用功能强大,但是,很多时候还是需要 C/S模式的客户端程序。最为典型的应用是为现有产品添加新的OSM地图支持(比如替换掉MapX)。很多现有GIS应用都是Native C++的。这些CLient 与网页最大的不同,就是需要即时以及复杂的交互。以OSM为底图,其上需要进行复杂的科学计算,呈现一些网页不容易表现的功能。因此,在NATIVE C++上做一个地图控件是最合适的。...原创 2012-09-15 14:43:44 · 6057 阅读 · 5 评论 -
一步步DIY: OSM-Web服务器(五) GeoServer与矢量叠加图层
(-: 只有栅格图层是没有意义的,我们需要矢量图层才能实现自己的功能。这里实现的功能是获取公司外派的外卖员的位置,并显示他们最后一次按动汇报器按钮的时刻,以便公司掌握这些员工的交通安全、买卖效率。员工ID 是唯一的工号,姓名、正在执行的送外卖对象的电话、地址。下面,我们来实现这个Web应用。、数据环境 数据使用PostgreSQL 视图发布,该视图主要字段...原创 2012-09-11 13:29:51 · 10638 阅读 · 2 评论