挖掘Dark Sky Maps(热的要死后,疯传的一个气温地图网站)
最近,各种朋友圈,社会媒体,都在疯传一张图,这张图显示的全球的气温图,本没有什么特别的,但是这张图的网站来源所展示的数据与气象局或者各种天气预报的温度值相差倒是不少,引来一片网友的吐槽。
但是,作为专业的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(热的要死后,疯传的一个气温地图网站)的更多相关文章
- (转)IE6 死后即将大快人心的10件事
(转)未来五年程序员应当具备的十项技能 W3C CSS 2.1 Specification(Quick Table of Contents) (转)IE6 死后即将大快人心的10件事 2009-04- ...
- 原来热加载如此简单,手动写一个 Java 热加载吧
1. 什么是热加载 热加载是指可以在不重启服务的情况下让更改的代码生效,热加载可以显著的提升开发以及调试的效率,它是基于 Java 的类加载器实现的,但是由于热加载的不安全性,一般不会用于正式的生产环 ...
- 在Google Maps 上点击标签后显示说明
JS如下: (function() { window.onload = function() { // Creating an object literal contain ...
- Maven项目热部署,修改代码后不用重启tomcat服务器
只需要在pom.xml文件中添加 <build> <finalName>MySSM</finalName> <!-- 指定部署的服务器类型 --> &l ...
- Tomcat热部署--start tomcat后就可自动部署war包
使用tomcat图形化界面,需要现在配置文件中设置用户名和密码: 在maven中配置Tomcat插件: root目录下的内容可以直接访问: 跳过测试: 查看端口占用:
- node.js之nodemon 代码热更新 修改代码后服务器自动重启
1.安装nodemon: npm install -g nodemon //全局安装 npm install nodemon --save //局部安装 2.在项目根目录下创建 nodemon.jso ...
- Swift让编程更简单 人人都是开发者
全称为苹果全球开发者大会的WWDC,每年的这个时候,都会如这段时间前后所举行的Google I/O 和微软的BUILD开发者会议一样,吸引全球科技媒体的目光.近几年来,因为在会上爆的猛料越来越多,“开 ...
- 容器化VS微服务
1 微服务 1.1 思想 开发人员自己测试.部署和运维自己编写的代码,即自己负责构建生命周期的全部. 1.2 Spring Boot 提供服务化的能力,即把容器.服务所需依赖和服务一起打包成一个jar ...
- Circle of Monsters(贪心)
n个怪物围成一圈,每个怪物有自己的血量和爆炸伤害. 怪物在死后会对下一个怪物造成爆炸伤害,又死了又可以爆炸...... 你每发子弹可以对怪物造成1点伤害,求杀死所有怪物的最小子弹数. 传送门 \(\c ...
随机推荐
- 编译原理 算法3.8 LR分析 c++11实现
LR分析简介 LR分析是应用最广泛的一类分析方法,它是实用的编译器功能中最强的分析器,其特点是: 1,采用最一般的无回溯移进-规约方法. 2,可分析的文法是LL文法的真超集. 3,能够及时发现错误,及 ...
- Mybatis动态查询
需要导入的jar包: 实体类User: package com.bjsxt.pojo; import java.io.Serializable; public class User implement ...
- jQuery中的层级选择器
话不多说,请看效果: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...
- 【原创】(十三)Linux内存管理之vma/malloc/mmap
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...
- windows系统安装git
一.下载git的安装包 git官网的下载地址:https://git-scm.com/download/win 选择自己的机型进行安装. 二.安装配置 一直点下一步就可以 安装完毕之后,打开电脑命令窗 ...
- Selenium选择web元素
获取html片段可以用来做什么? 可以用来分割,也可以分析HTML文档 beautifulsoup用法? 安装beautifulsoup库: pip install beautifulsoup4 因为 ...
- 【HTML5】296- 重新复习 HTML5 的 5大存储方式
点击上方"前端自习课"关注,学习起来~ 一.介绍 在 HTML5 规范之前,存储主要是用 cookies . cookies 的缺点有: 在请求头上带着数据: 大小是 4k 之内: ...
- 【NodeJS】nvm
[NodeJS]nvm node多版本管理 NVM_HOME=C:\env\nvm NVM_SYMLINK=C:\env\nodejs 查看版本 nvm v 查看当前使用的node版本 nvm cur ...
- CodeForces - 1059C Sequence Transformation (GCD相关)
Let's call the following process a transformation of a sequence of length nn. If the sequence is emp ...
- 《Java算法》排序算法-快速排序
排序算法-快速排序: /** * 给定一个数组:按照从小到大排序. * 思路: * 1. 获取第一个数放入临时变量data,将大于data的数放右边,小于data的数放在左边. * 2. data左边 ...