惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
博客园_首页
博客园 - 三生石上(FineUI控件)
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
量子位
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
美团技术团队
小众软件
小众软件
Jina AI
Jina AI
S
SegmentFault 最新的问题
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

WSH

凑数日子 2026年,大概将会是最后一个人口保持在14亿以上的年份 感谢之人 数字经济中的注意力交易 突然的噩耗 一株洋瓜藤 再见到姑妈 港澳掠影 Miniflux 中文搜索能力增强 慢慢吹~~~轻轻送~~~ 房子梦 探索云南-大理 证书过期导致的错误 过年被追问工资 在秋天开始 水里的鱼 斩断联系1 云南壮族婚恋 我有一颗乳牙 世界的底色是争,抢,偷 无题4 无题3 人来人往 AI见闻 无题2 滇池掠影 WebGIS 三维空间分析之参考超图实现的天际线分析 我原来是个同步单线程 往事如烟1
乐高风格地图
WSH · 2021-12-26 · via WSH

目录

  • 乐高地图
      • 数据来源
      • 1.生成格网
      • 2.挂接栅格数据
      • 3.生成几何中心
      • 4.融合要素
      • 5. 配置风格
      • 6.地图打印

乐高地图

看到国外一个人用Qgis制作的乐高风格地图andriyyaremenko,效果不错,而且他本人很慷慨的把方法分享出来,下雨无事,我也来实现它。

目录

[TOC]


数据来源

NASA地球观测网站:https://earthobservatory.nasa.gov/features/NightLights/page3.php

工具:Qgis,ArcGis


1.生成格网

首先生成格网,可借助Create Grid工具,所在位置为:矢量 --> 研究工具 --> Create Grid。

需要注意的是:格网大小按最好照地图比例来调整,如果工程坐标系是平面坐标系的话,单位可以选择米、千米;如果选择经纬度数作为单位,得将工程坐标系更改为经纬度坐标系。

image-20211226173330459

image-20211226202032100

生成格网之后,把多余的格子(要素)去掉,只保留栅格数据覆盖范围内的格子,加载一个边界矢量图层,然后通过【Select By Location】,将格网内和该图层重叠/相交的格子选中。

【Select By Location】所在位置:矢量 --> 研究工具 --> Select By Location。

image-20211226202708385

最后将其另存为矢量shp文件。

image-20211226203130529

2.挂接栅格数据

获取栅格数据的DN值(灰度值),示例数据包含四个波段(RGBA),我的方法是想将栅格数据矢量化,得到一个矢量图层,内含一个DN属性,再通过【Join Attriubte By Location】工具,将DN属性挂接到格网数据,为之后的分级渲染作准备。

矢量化工具:栅格 --> 转换 --> Polygonize

image-20211226205153410

【Join Attriubte By Location】:矢量 --> 数据管理工具 --> Join Attriubte By Location

image-20211226205952096

3.生成几何中心

借助Centroids工具,其所在位置:矢量 --> 几何图形工具 --> Centroids

image-20211226204239106

4.融合要素

融合的目标是使各相邻要素之间合并为同一个要素,对应的Qgis工具为Dissolve,但是在Qgis中操作结果分级之后渲染一直达不到我想要的效果,也找不到原因,无奈只好在ArcGis完成,操作如下:

image-20211227001213073

融合后,在Qgis中加载。

image-20211227001343804

5. 配置风格

接下来就是风格的配置,首先是点图层,

指定DN作为分级的值,分级渲染(7级),自定义好色带(最好保存色带,因为等会配置格网要用到),设置符号边框大小等。

image-20211227002419840

image-20211227002623684

格网的配置风格和点图层相似,也是分级渲染(色带和点图层用同一个)。

image-20211227003605392 image-20211227131706657

复制点图层,修改其风格为单符号,暗黑色填充,修改offset使其偏移,形成积木中圆柱形凸起的阴影。

image-20211227003331097

而格网呢,在最后一级符号中添加一个简单填充符号,修改为黑色填充,设置偏移量(调到满意为止),这样就是积木方块的阴影了。

image-20211227003831869

仔细看,相同类型的格网团块中没有边界线,把先前生成的未融合的格网(对应图中的grid图层)置于上层,设置边界线条粗细,就OK了。

map

6.地图打印

完整的一幅地图应该包含图例、指北针、比例尺等相关元素,现在新建一个打印布局然后逐个添加地图元素。

选择:project --> new print layout,输入名称,新建布局

AddItem 功能可以往地图里添加各种要素,如比例尺、图片、图例、标注、指北针等;添加元素后,可以在右边的项属性窗口修改它们的风格,如边框、背景色、字体大小等。

image-20211227132118754

地图中的积木块是一个组合符号,由两个点图层和两个格网构成的,默认的图例是下面这个样子,

image-20211227133522526

想要图例呈现出积木块效果(如下图),我的方法有点简单且繁琐,就是使用截图工具,将地图中不同的积木块截取保存为图像然后在导入打印布局内作为图例,然后添加文字描述。

微信图片_20211227133246

image-20211227133853897

比例尺也是一样,不用默认,每一个方块的大小是20km × 20km,直接写上去。

最后添加数据的来源描述,调到满意为止,然后可以导出为png/jpe/svg/pdf等格式。

Yn_light_lego


我的制作过程相对繁琐,如果你有更好的方法或者改进建议,欢迎告诉我,因为私信的话有时候我忙不能及时回复,若是过48小时之后就回复不了,所以可以发送到我的邮箱:3443327820@qq.com