(function() { var canvas = document.getElementById('quakeCanvas'); // Create our Planetary.js planet and set some initial values; // we use several custom plugins, defined at the bottom of the file var planet = planetaryjs.planet(); planet.loadPlugin(autocenter({extraHeight: -120})); planet.loadPlugin(autoscale({extraHeight: -120})); planet.loadPlugin(planetaryjs.plugins.earth({ topojson: { file: 'https://101.43.39.125/HexoFiles/js/planetaryjs/world-110m.json' }, oceans: { fill: '#001320' }, land: { fill: '#06304e' }, borders: { stroke: '#001320' } })); planet.loadPlugin(planetaryjs.plugins.pings()); planet.loadPlugin(planetaryjs.plugins.zoom({ scaleExtent: [50, 5000] })); planet.loadPlugin(planetaryjs.plugins.drag({ onDragStart: function() { this.plugins.autorotate.pause(); }, onDragEnd: function() { this.plugins.autorotate.resume(); } })); planet.loadPlugin(autorotate(5)); planet.projection.rotate([100, -10, 0]); planet.draw(canvas); // Plugin to resize the canvas to fill the window and to // automatically center the planet when the window size changes function autocenter(options) { options = options || {}; var needsCentering = false; var globe = null; var resize = function() { var width = window.outerWidth /2 + (options.extraWidth || 0); var height = window.outerHeight/2 + (options.extraHeight || 0); globe.canvas.width = width; globe.canvas.height = height; globe.projection.translate([width / 2, height / 2]); }; return function(planet) { globe = planet; planet.onInit(function() { needsCentering = true; d3.select(window).on('resize', function() { needsCentering = true; }); }); planet.onDraw(function() { if (needsCentering) { resize(); needsCentering = false; } }); }; }; // Plugin to automatically scale the planet's projection based // on the window size when the planet is initia
topojson很早就问其大名,但日常用的比较多的还是geojson为主,最近在项目里面开始用到了,所以就写此文记录一下。
编译:佘彦遥 程序注释:席雄芬 校对:丁雪 原文链接:https://github.com/python-visualization/folium/blob/master/README.rst Folium是建立在Python生态系统的数据整理(Datawrangling)能力和Leaflet.js库的映射能力之上的开源库。用Python处理数据,然后用Folium将它在Leaflet地图上进行可视化。 概念 Folium能够将通过Python处理后的数据轻松地在交互式的Leaflet地图上进行可视化展示
TopoJSON 文件中的几何图形不是独立地表示,而是由共享的线段(称为弧线)拼接而成。TopoJSON 消除了冗余,提供了比 GeoJSON 更紧凑的几何表示;典型的 TopoJSON 文件比 GeoJSON 等价文件小 80%。此外,TopoJSON 还为使用拓扑的应用提供了便利,如拓扑保护形状简化、自动地图着色和制图。
在上一篇(数据科学学习手札41)中我们了解了folium的基础内容,实际上folium在地理信息可视化上的真正过人之处在于其绘制图像的高度可定制化上,本文就将基于folium官方文档中的一些基本示例来展开说明;
GeoJSON 和 TopoJSON 是符合 JSON 语法规则的两种数据格式,用于表示地理信息。 1. GeoJSON GeoJSON 是用于描述地理空间信息的数据格式。GeoJSON 不是一种新的格式,其语法规范是符合 JSON 格式的,只不过对其名称进行了规范,专门用于表示地理信息。 GeoJSON 的最外层是一个单独的对象(object)。这个对象可表示: 几何体(Geometry)。 特征(Feature)。 特征集合(FeatureCollection)。 最外层的 GeoJSON
专业处理视觉呈现的渲染库。 3D引擎从商业属性上分为:商业引擎和开源引擎,从业务领域上分为:游戏引擎、GIS引擎、仿真引擎等,部分引擎可能具备多种领域组合,开发语言涉及包括:C++、C#、Java、JavaScript、GLSL及各类脚本等。
以前在处理gis数据的时候,都是直接导入本地shp素材、本地geojson素材,本地topojson素材,自从接触postgis数据之后,深感使用规范的存储系统来统一管理gis数据的好处,特别是数据量大了之后,优势便更加明显,你可以选择将很多需要做空间计算的步骤转移到Postgis数据库内进行计算,要知道Postgis提供的空间计算能力与R和Python这种应用导向的工具相比,优势要大得多。
很多小伙伴说这样的节奏想看连续剧,我们接着讲地图可视化。我们将思路和资源都会免费发布在本文中,但视频操作需要订阅会员或购买专业的BI可视化教程。
作为全球最大的开源及私有软件项目托管社区平台,github可以显著地帮助从事编程相关工作的人员提升自己的技术水平,也是费老师我日常最常浏览学习的技术类网站。
在某些情况下,要注意台湾,香港,澳门和南海诸岛都应该包括到地图里。形状地图不需要加载一个复杂的在线地图,但目前在 PowerBI 的默认形状地图,不能放置文本,因此我们需要用数据做一些辅助,如下:
Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎。Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和mobile。
使用了promise,但是在使用的过程中报Uncaught (in promise)错误,第一次遇到这种错误,所以在此记录下,方便以后解决问题
随着Web技术的不断发展,WebMap的功能和应用也越来越丰富和多样化,地图不再仅仅是2D的显示,更多需要3D的显示效果和交互。这个时候就需要地图数据不能以图片方式出现了。
因一位EasyShu用户很热心地发问,同时提供了一个很通用性的场景,使用外部的其他地图文件,如何制作一个适合EasyShu使用的自定义地图数据包。
最近几天推送频率之所以下降了,不是因为偷懒,是在攻克一个难题~ 还记得前一篇推送,关于山东省财政数据可视化那一篇,因为没有精准、最新的山东省县级市边界地图素材数据,花了好多冤枉功夫,搜地图素材各种碰壁,最后的得到的地图数据并不尽如人意。 现在shp的素材相比json整体都不太流行了,无论是制作成本上还是占用内存上以及与实际行政区划的更新速度上,json地图素材轻便、时效、易获取,很多网站都提供这种轻量级的数据文件。 可是json文件遵循的JS语法,导入R中之后,全部被强制转化为各种嵌套的list、data.
OpenLayers(https://openlayers.org/)是一个用来帮助开发Web地图应用的高性能的、功能丰富的JavaScript类库,可以满足几乎所有的地图开发需求。
GIS的底图一直使用金字塔技术进行切图,使用户能够快速访问指定级别的地图或者影像。但是切图本身是一张图片,无法进行交互。于是又引入了矢量图层用来显示矢量点线面,这通常需要先获取矢量地理数据,然后通过前端将其绘制成不同元素便能通过鼠标进行响应交互了。
摘要:一般非专业的GIS应用通常会用到省市等行政区区划边界空间数据做分析,本文简单介绍了如何在互联网上下载省,市,区县的shp格式空间边界数据,并介绍了一个好用的在线数据转换工具,并且开源。
自从和地图可视化结缘,一路走了好几年,从最初的Excel催化剂版本的地图可视化,到EasyShu的全系列地图可视化。
DDoS攻击通过分布式的源头针对在线服务发起的网络消耗或资源消耗的攻击,目的是使得目标无法正常提供服务。DDoS攻击主要针对一些重要的目标,从银行系统到新闻站点,而它之所以一直令人头疼在于如何在遭受攻
TROPOspheric Monitoring Instrument(TROPOMI)是搭载在Copernicus Sentinel-5 Precursor(S5P)卫星上用于大气成分观测的仪器,于2017年10月13日发射,预计服役期为7年。
所以想要绘制更精美的可视化地图?想在地图上自由的设置各种参数?想获得灵活的交互体验?
猫头虎博主欢迎你来到本篇博客!在这里,我们将深入探讨如何开发Vue.js插件,为Vue.js应用添加自定义功能。本文提供了详细的步骤和示例代码,以帮助你轻松入门,同时优化你的插件以获得更好的可维护性和SEO表现。
2017-10-30更新 Blueimp jquery相册插件 http://blueimp.github.io/Gallery/ bootstrap-markdown bootstrap的markdown插件 http://www.codingdrama.com/bootstrap-markdown/ bootstrap-tagsinput bootstrap的标签添加与删除插件 http://bootstrap-tagsinput.github.io/bootstrap-tagsinput/exa
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
jQuery 功能比较有限,想要更复杂的特效效果,可以借助于 jQuery 插件完成。
一直以来,微信小游戏都在不断寻求更优的小游戏使用体验,从微信7.0.7版本开始,就一直在灰度测试的微信小游戏通用引擎插件,今日已全量放开。
jQuery 功能比较有限,想要更复杂的特效效果,可以借助于 jQuery 插件完成。 这些插件也是依赖于jQuery来完成的,所以必须要先引入
当我们使用 FIS 插件的时候,有没有想过自己也开发一个基于 FIS 的插件,参与 FIS 打包编译的整个流程;那么问题就来了:
jQuery 功能比较有限,想要更复杂的特效效果,可以借助于 jQuery 插件完成。 这些插件也是依赖于jQuery来完成的,所以必须要先引入
移动端要求的是快速开发,所以我们经常会借助于一些插件来帮我完成操作,那么什么是插件呢?
在小程序开发中为了提升小程序的功能丰富度和用户体验,以及避免重复造轮子,特别是在实现一些通用功能(如地图定位、支付接口等)时,我们往往需要通过小程序插件来提高开发效率。目前我司的 app 中是通过嵌入第三方SDK来实现小程序运行的,我们发现该技术平台中是具备直接开发小程序插件的能力的,本期就给大家分享一下如何在第三方平台中开发小程序插件,以便于业务模块可以复用。
在2019年初,微软正式选择了Chromium作为默认浏览器,并放弃edge的发展。并在19年4月8日,Edge正式放出了基于Chromium开发的Edge Dev浏览器,并提供了兼容Chrome Ext的配套插件管理。再加上国内的大小国产浏览器大多都是基于Chromium开发的,Chrome的插件体系越来越影响着广大的人群。
在上一期“如何使用小程序插件”的分享中有提到,在FinClip中开发者可以像开发小程序一样开发一个插件,而开发出来的插件,既可以提供给自己的团队使用,也可以公开出来供其他开发者使用。在插件发布之后 FinClip 会托管插件代码,其他小程序调用时,上传的插件代码会随小程序一起下载运行。
本文使用的 Webpack-Quickly-Starter 快速搭建 Webpack4 本地学习环境。
本文将带你一起开发第一个 Webpack 插件,从 Webpack 配置工程师,迈向 Webpack 开发工程师! 做自己的轮子,让别人用去吧。
在chrome插件中,我们通常会看到在插件端登录操作会跳转到第三方独立的web去登录,一旦web登录,返回到插件端,一刷新页面,插件就自动登录了。这是如何实现的呢?本文是插件与web端的单点登录的一篇总结笔记,希望看完在项目中有所帮助。
有没有好奇chrome[1]插件是用什么做的?像类似掘金插件又是怎么实现的,当我安装稀土掘金插件后,我的导航页都被改掉了,因此你也可以做一个类似的插件,来导航你公司的一些产品,方便快捷的实现你的内部导航
1、manifest.json 这个文件是每个插件都必须有的一个文件(其他的文件是可选的),它定义了插件的所有的信息,如权限,要引入哪些脚本,包含哪些资源等等。
在软件开发中使用自动化构建工具的好处是显而易见的。通过工具自动化运行大量单调乏味、重复性的任务,比如图像压缩、文件合并、代码压缩、单元测试等等,可以为开发者节约大量的时间,使我们能够专注于真正重要的、有意义的工作,比如设计业务逻辑,编写代码等等。 对很多前端开发人员而言,Grunt 无疑是这方面的首选。基本上,如果你会用 JavaScript ,那么在一个名为 Gruntfile.js (或者 Gruntfile)的文件中用 Javascript 语言定义自动化任务是非常简单的过程,同时大量的 第三方插件
在 Vue.js 中,插件(Plugins)是一种能为 Vue.js 添加全局功能的工具代码。Vue.js 3 插件没有严格定义的使用范围,但是插件的应用场景主要包括以下几种。
无论是 Chrome,还是 Firefox 浏览器,它们的强大性在很大程度上都是依赖于海量的插件,让我们能高效办公
Chrome 插件是我们经常用到的,比如广告屏蔽,浏览器美化,访问国外网站等。但是你有想过 Chrome 插件是如何开发的吗?出于好奇,今天我们一起从 0 到 1 开发一个超级无敌简单的 Chrome 插件,目的只为入门 Chrome 插件基础开发。
领取专属 10元无门槛券
手把手带您无忧上云