最近,各种朋友圈,社会媒体,都在疯传一张图,这张图显示的全球的气温图,本没有什么特别的,但是这张图的网站来源所展示的数据与气象局或者各种天气预报的温度值相差倒是不少,引来一片网友的吐槽。

但是,作为专业的Giser,总喜欢研究一番这个网站有啥稀奇的,不看还好,看了以后,发现还是有很多值得挖掘的有用信息。

1、这个网站的全球温度图是否能拿来所用?

经过一番的扒揪,发现了一系列的url,都是这个样子的,
https://maps-raw.darksky.net/1564214400/temperature_k/7/105/49.jpg,
哈啊哈,搞开发的人看到这个就会眼睛一亮,这个不就是瓦片嘛,立马写了个简单的加载瓦片的页面,跑一下,果真,标准的瓦片的服务地址。

加载代码:

  • var map = L.map("map", {
  • center: [32.045332838858506, 102.78808593750001],
  • zoom: 5
  • });
  • L.tileLayer('https://maps-raw.darksky.net/1564214400/temperature_k/{z}/{x}/{y}.jpg').addTo(map);

但是,这里面的1564214400这个是什么鬼,看起来是不是很像时间呢,于是在控制台下,随便写了几句话。

是不是很像,就是这个时间的前10位啦。。。于是这个网站的显示有关技术就被扒干净了。

2、这个全球的气温图是咋生成的?

之前,我们有过基于全国的气温散点数据进行插值生成气温、降水的色斑图,但是这个更加高级,不光有温度的色斑图,还有地形信息,只能是假设了,先弄一份全球的地形dem,然后制作地形晕渲图(大学里面有试验课程,用Arcgis制作地形晕渲图,类似),再用超级计算机,高精度插值生成全球的温度图,最后两者叠加,最后切成瓦片。

3、我们还能做什么?

应用一:时态温度分析

既然瓦片服务提供了时间参数,我们可以利用这个维度进行时态温度分析,可以自由选择感兴趣的时间点查看全球温度分布。原始gif(1920*1080)文件过大,这里是压缩过后的,如果需要原始文件的可以联系我

更多的详情见GIS之家小专栏

对本专栏感兴趣的话,可以关注一波

挖掘Dark Sky Maps(热的要死后,疯传的一个气温地图网站)的更多相关文章

  1. (转)IE6 死后即将大快人心的10件事

    (转)未来五年程序员应当具备的十项技能 W3C CSS 2.1 Specification(Quick Table of Contents) (转)IE6 死后即将大快人心的10件事 2009-04- ...

  2. 原来热加载如此简单,手动写一个 Java 热加载吧

    1. 什么是热加载 热加载是指可以在不重启服务的情况下让更改的代码生效,热加载可以显著的提升开发以及调试的效率,它是基于 Java 的类加载器实现的,但是由于热加载的不安全性,一般不会用于正式的生产环 ...

  3. 在Google Maps 上点击标签后显示说明

    JS如下: (function() {     window.onload = function() {           // Creating an object literal contain ...

  4. Maven项目热部署,修改代码后不用重启tomcat服务器

    只需要在pom.xml文件中添加 <build> <finalName>MySSM</finalName> <!-- 指定部署的服务器类型 --> &l ...

  5. Tomcat热部署--start tomcat后就可自动部署war包

    使用tomcat图形化界面,需要现在配置文件中设置用户名和密码: 在maven中配置Tomcat插件: root目录下的内容可以直接访问: 跳过测试: 查看端口占用:

  6. node.js之nodemon 代码热更新 修改代码后服务器自动重启

    1.安装nodemon: npm install -g nodemon //全局安装 npm install nodemon --save //局部安装 2.在项目根目录下创建 nodemon.jso ...

  7. Swift让编程更简单 人人都是开发者

    全称为苹果全球开发者大会的WWDC,每年的这个时候,都会如这段时间前后所举行的Google I/O 和微软的BUILD开发者会议一样,吸引全球科技媒体的目光.近几年来,因为在会上爆的猛料越来越多,“开 ...

  8. 容器化VS微服务

    1 微服务 1.1 思想 开发人员自己测试.部署和运维自己编写的代码,即自己负责构建生命周期的全部. 1.2 Spring Boot 提供服务化的能力,即把容器.服务所需依赖和服务一起打包成一个jar ...

  9. Circle of Monsters(贪心)

    n个怪物围成一圈,每个怪物有自己的血量和爆炸伤害. 怪物在死后会对下一个怪物造成爆炸伤害,又死了又可以爆炸...... 你每发子弹可以对怪物造成1点伤害,求杀死所有怪物的最小子弹数. 传送门 \(\c ...

随机推荐

  1. 在Tinymce编辑器里,集成数学公式

    在以前,需要在Web页面显示数学公式,常用的都是先制作成图片,然后插入到页面里.这使得后期对数学公式的修改变的麻烦,同时也不利于搜索引擎搜索. 本文将介绍如何在TinyMce编辑器里集成数学公式.先看 ...

  2. ACM-ICPC 2018 焦作赛区网络预赛 G题 Give Candies

    There are NN children in kindergarten. Miss Li bought them NN candies. To make the process more inte ...

  3. Pycharm-2018.3.1专业版破解教程

    1.去官网下载并安装2018.3.1(目前最新)专业版本的Pycharm:(https://www.jetbrains.com/pycharm/download/#section=windows). ...

  4. 【React】345- React v16.9 新特性[译]

    今天我们发布了 React 16.9.它包含了一些新特性.bug修复以及新的弃用警告,以便与筹备接下来的主要版本. 一.新弃用 重命名 Unsafe 生命周期方法 一年前,我们宣布 unsafe 生命 ...

  5. 【CuteJavaScript】GraphQL真香入门教程

    看完复联四,我整理了这份 GraphQL 入门教程,哈哈真香... 欢迎关注我的 个人主页 && 个人博客 && 个人知识库 && 微信公众号" ...

  6. Orleans[NET Core 3.1] 学习笔记(三)( 1 )本地开发配置

    本地开发配置 本地开发和调试的时候,我们可能不需要去关注集群和网络ip端口.所以对于本地开发模式,Orleans给了我们比较简单的配置方式. Silo配置 在本地开发的配置模式下,Orleans会默认 ...

  7. 基于TCP协议之socket编程

    #服务端 #导入一个socket模块 import socket #想象成买手机打电话:socket.SOCK_STREAM 表示建立tcp连接 ,udp连接socket.SOCK_DGRAM #买了 ...

  8. 使用SQL语句修改Mysql数据库字符集的方法

    使用SQL语句修改Mysql数据库字符集的方法   修改库: alter database [$database] character set [$character_set] collate [$c ...

  9. 清晰明了的javascript版动态规划

    算法是一种艺术,给人感觉很不好接近,但是一旦你和ta熟络了,你就能发现这门艺术的内在是多么美妙且多变. 对于前端来说,算法也许不是最重要的,在日常工作中,几乎很少用到.所以很多人也不是很感冒. 不过呢 ...

  10. [JZOJ A组]球 题解

    球(ball) [问题描述] 小 T 有 n 个桶和 2n − 1 个球,其中第 i 个桶能装前 2i − 1 个球.每个桶只能装一个球. 现在小 T 取了 m 个桶和 m 个球,并将这些球各自放在 ...