自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wyy的博客

每天进步一点点

  • 博客(28)
  • 收藏
  • 关注

原创 nodejs从源码编译mapbox-gl-native

mapbox-gl-native是mapbox后端渲染引擎,与mapbox-gl-js使用同样的样式规范,可以运用于Android、IOS、MacOS、Linux等各种平台,本文主要讨论Linux下源码编译nodejs版本。系统要求:64位Linux或者MacOS C++14 nodejs v4.x (官方文档说node v5+会存在问题)编译过程安装依赖包 $ npm in...

2018-11-08 16:31:16 1966

原创 js常见的数据操作集合

在实际开发中有一些操作会经常碰到,例如数组去重、对象复制、对象合并、颜色转换等,在这里把常用操作进行归类,便于以后进行查阅。1、数组去重去除数组中重复的元素。function unique(arr) { var res = []; var json = {}; for(var i = 0; i < arr.length; i++){ if(!json[arr...

2018-07-20 11:00:24 4549

原创 mapbox-gl-native安装编译生成node版本时遇到的错误

1. libGLESv2.so.2: cannot open shared pbject file: No such file or directory尝试安装libgles2-mesa和libegl1-mesasudo apt-get install libegl1-mesa libgles2-mesa2. fatal error: X11/Xlib.h: No such file or dir...

2018-05-14 09:32:22 1194

原创 Linux系统手动升级gcc

我们有些应用在编译中需要高版本的gcc和g++,但是linux系统每个版本一般都对应一个gcc版本,要想升级只能手动升级。常规安装1、下载gcc源码 这里以5.2版本为例,下载地址http://ftp.gnu.org/gnu/gcc 2、将下载的gcc源码解压到/usr/local文件夹$ tar -jxf gcc-5.2.0.tar.bz2 -C /usr/local/$ cd /usr/

2017-05-13 11:29:04 2470

原创 libc.so.6: version `GLIBC_2.14' not found

试图运行程序,提示”libc.so.6: version `GLIBC_2.14’ not found”,原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的。以下在centos 6.7测试升级GLIBC。 1、可通过以下命令查看GLIBC的目前版本:$ strings /lib64/libc.so.6 |grep GLIBC_GLIBC_2.2.5 GLIBC_2.2

2017-05-13 11:02:23 2571

翻译 tippecanoe

tippecanoe使用 GeoJSON数据创建 矢量瓦片 目的根据你的数据创造一个可自由缩放的视图安装最简单的安装方式是在OSX使用 Homebrew:$ brew install tippecanoe用法$ tippecanoe -o file.mbtiles [file.json ...]如果没有指定GeoJSON文件,它将会从标准输入读取。 如果指定了多个文件,每个文件都会创建一个对应的图

2017-04-18 17:22:32 4094 1

原创 使用tilelive-copy命令进行矢量切片

切片命令:tilelive-copy bridge:///home/bygis/data/daolutest.xml "foxgis+mongodb://localhost/dbname?tileset_id=daolu&owner=foxgis" --timeout=200000000命令参数说明: “bridge://” 文件协议,指定文件类型 “/home/bygis/data/da

2017-04-05 17:26:03 3001

原创 使用Tippecanoe切片后面状要素渲染出现空洞

在上一篇博客中介绍了tippecanoe工具的切片方法,使用上述命令tippecanoe -z 14 -Z 12 -Bg -o river_live.mbtiles *.json切片后,某些面状要素的渲染出现三角形的空洞,如下图所示: 这是因为tippecanoe自动抽吸,精简了部分线坐标,可在切片时加-ps选项,禁止简化线要素。$ tippecanoe -z 14 -Z 12 -ps -Bg -

2017-03-17 09:24:26 848

原创 使用Tippecanoe工具处理大数据量的矢量数据切片

Tippecanoe是Mapbox的一个开源切片工具,项目地址:https://github.com/mapbox/tippecanoe,Mapbox常规的切片方法tilelive-copy参见另一篇博客。Tippecanoe主要在处理大数据量时有很大的优势,具有很高的效率,并且有很多参数可以控制。Tippecanoe只能处理GeoJSON,因此在切片前需要将矢量数据转换为GeoJSON,推荐使用o

2017-03-01 11:34:59 6678 3

原创 Deepin系统双显卡的情况下无法使用WebGL和OpenGL的问题

双显卡一直是Linux系统的难题,关于深度系统的双显卡可以参考深度百科上面的介绍。 一下内容复制自深度百科,主要针对Intel+Nvidia双显卡: 独显切换 安装第三方的Bumblebee程序,可实现NVIDIA Optimus,终端中执行:sudo apt-get install bumblebee-nvidia primus #安装Bumblebee-nvidia(适用于闭源驱动),其中

2016-10-13 10:14:31 5710

原创 Linux系统安装指定版本的nodejs

Linux系统下可以通过apt-get直接安装nodejs,但是有时候需要安装某个特定版本的nodejs,有两种安装方法,nodejs的安装文件可以从这里下载:https://nodejs.org/dist/v4.4.4/,这里以4.4.4版本为例,其中node-v4.4.4-linux-x64.tar.gz 为编译好的版本,node-v4.4.4.tar.gz为源码。 1、下载编译好的文件 从

2016-10-11 14:58:25 6994

原创 Java中使用File类操作文件时的路径问题

Java操作文件首先需要实例化一个对象,File类实例化对象时必须指定文件路径,对于不同的操作系统,文件路径中的分隔符不同,例如Windows系统分隔符为反斜杠“\”,Linux系统则为正斜杠“/”。 File类提供了路径分隔符的常量来确保Java文件操作在不同的操作系统下都能运行。 如果在实例化File对象时采用File f = new File("d:\\test.txt"),程序在Wind

2016-09-14 16:42:47 3366

原创 基于MapboxGL的样式文件自动生成图例

MapboxGL是一个基于WebGL的地图绘制引擎,其地图样式采用一个json格式的文件进行描述,但是对于渲染的地图,Mapbox并没有提供图例的生成方法,因此需要自己根据这个样式描述文件来生成地图图例。 MapboxGL中数据与样式是分开的,地图的所有样式都是由这个唯一的样式描述文件来描述。并不是地图中的所有样式都需要图例,例如简单的文字注记就不需要生成图例,而且MapboxGL的样式中对同一个

2016-09-14 15:55:19 8500 3

原创 Java多线程:Thread类中的主要方法

方法名称 类型 描述 public Thread(Runnable target) 构造 接收Runnable接口子类对象,实例化Thread对象 public Thread(Runnable target,String name) 构造 接收Runnable接口子类对象,实例化Thread对象,并设置线程名称 public Thread(String name)

2016-04-25 15:40:29 2351

原创 Java中两种多线程实现方法:Thread类和Runnable接口的联系与区别

Thread类和Runnable接口两种实现方法都是通过Thread类的start()函数启动的,Thread类也是Runnable接口的子类,但是没有完全实现接口中的run()方法。Thread类与Runnable子类同时实现了Runnable接口,类似于代理设计模式。 Thread类、Runnable接口、Runnable子类之间的关系如下:实现Runnable接口相对继承Thread类来说有

2016-04-25 13:59:24 869

原创 Java面向对象-包装类

Java倡导一切皆对象,但是Java中有8中基本数据类型不支持面向对象的机制,因此Java提供了包装类的概念,将基本数据类型变成一个类的形式。

2016-03-29 15:30:01 938

原创 抽象类与接口的关系

抽象类和接口是Java中最重要的概念! 区别点 抽象类(abstract class) 接口(interface) 定义 包含一个抽象方法的类 抽象方法和全局常量的结合 组成 构造方法、抽象方法、普通方法、常量、变量 常量、抽象方法 使用 子类继承抽象类(extends) 子类实现接口(implements) 关系 抽象类可以实现多个接口 接

2016-01-21 13:40:02 413

原创 java中this关键字与super关键字的区别

区别点 this super 属性访问 访问本类中的属性,如果本类中没有此属性,则从父类中继续查找 访问父类中的属性 方法 访问本类中的方法,如果本类中没有此方法,则从父类中继续查找 直接访问父类中的方法 调用构造 调用本类构造函数,必须放在构造函数首行 调用父类的构造函数,必须放在子类构造函数的首行 特殊 表示当前对象 无此概念注: 1、由

2016-01-21 10:51:37 621

原创 Java中方法的重载与覆写的区别

方法的重载是指在一个类中定义方法名称相同的多个函数,每个函数的参数个数或者参数类型不同。 方法的覆写是指在子类重写父类中的方法,方法的覆写重点需要关注权限问题。 主要区别如下: 区别点 重载 覆写 单词 Overloading Overriding 定义 方法名称相同,参数的个数或者类型不同 方法名称、参数类型、返回值类型全部相同 权限 没有权限要求

2016-01-21 10:42:18 838

原创 Java中两类逻辑运算符的区别

Java中的逻辑运算符如下表所示: 序号 运算符 含义 1 & 与 2 && 短路与 3 | 或 4 || 短路或与和或的逻辑运算与其他编程语言都一样,主要介绍“短路与(&&)”和“与(&)”的区别:对于“与”来说,前后所有的条件都要判断,而对于“短路与”,当第一个条件为false时,后面的条件不再判断,直接返回false。 举个例子:

2016-01-13 17:27:27 536

原创 Java中的数据类型

Java中的数据类型有两种,一种是基本数据类型,一中市引用数据类型。基本数据类型在声明时就会开辟内存空间,而引用数据类型在声明时不会开辟内存空间。基本数据类型 - 数值类型(byte、short、int、long、float、double) - 字符型(char) - 布尔型(boolean)引用数据类型 - 类(class) - 接口

2016-01-13 17:06:13 478

原创 Node.js中连接PostgreSql数据库的方法

PostgreSql是一个面向对象的关系数据库,postgis是一个基于PostgreSql的空间数据库插件,主要用于管理地理空间数据。因此在GIS领域,广泛使用PostgreSql作为空间数据库。 在Node.js中有专门的模块可以用来连接PostgreSql数据库,首先从npm资源库中获取数据库模块,名为”pg”:npm install pg该模块连接数据库有两种方式:1 使用连接池var p

2015-10-19 15:35:03 8862 1

原创 在Arcgis中基于Python对地图分级别进行四色填充

四色填充是数学领域比较有名的定理,大概意思是说对于任意无飞地的多边形区域,总能选取四种颜色对每个多边形进行填充,保证相邻的多边形具有不同的颜色。在地图制图中,该定理被用于地图着色,保证只采用四种颜色而使得每个省/市/县与相邻区域具有不同的颜色。一、项目需求最近因项目需要,研究了地图四色填充算法。 主要问题:在web制图中,地图被切成矢量瓦片用于渲染和显示,这就失去了地图的拓扑关系,如何来计算不同省

2015-10-16 10:37:39 18600 14

原创 MapboxGL采用的Web Workers策略及其调试方法

Web Workers 是在HTML5中新增的,用来在web应用程序中实现后台处理的一种技术。在HTML4中,js创建的程序都是单线程的,如果花费时间比较长的话web界面就会长时间没有响应,最恶劣的情况还会跳出一个脚本提示框:“提示脚本运行时间过长,是否继续?”于是就引出了Web Workers API。 在MapboxGL中为了避免加载地图数据时耗时太长导致阻塞,采用了Web Workers技术

2015-10-10 10:22:59 2296

原创 WebGL原生API及绘图基础

WebGL也是HTML5规范的一部分,从本质上讲它是一个增强型的图形绘制库,与HTML5的2D Canvas类似,只是WebGL是一个三维的绘图标准,并且同样使用了canvas元素。使用WebGL进行图形渲染至少要经历以下步骤: 1. 创建一个画布元素。 2. 获取画布的上下文。 3. 初始化视口。 4. 创建一个或多个包含渲染数据的数组(通常是顶点数组)。 5. 创建一个或多

2015-09-16 15:03:56 5154 1

原创 Mapbox-GL样式参考

MapboxGL最近发布了新的版本(0.11.0),其样式文件也由版本7升级到了版本8,如果升级了mapbox-gl模块,那么以前版本的样式文件已经无法使用,对于新的版本主要更改有以下几个方面: ①地图初始化时,地图中心坐标由以前的[纬度,经度]变成了[经度,纬度],可能是为了保持与Geojson格式的统一; ②样式表升级到8,取消了常量constants属性; ③线和面的layout属性以及

2015-09-15 11:42:47 21399 1

原创 MapboxGL前端代码生成方法及调试方法

最近利用MapboxGL进行前端地图可视化的相关研究,对MapboxGL的源码研究了一两个月,终于弄清楚其数据模型及程序结构。MapboxGL在前端运行的只是一个js文件,但实际上它包括大量的后端代码和模块。1、MapboxGL的安装对于一般使用者而言直接下载官网的mapbox-gl.js引入到浏览器就可以了,不过该代码为压缩和简化过的代码。对于开发者而言一般需要查看和调试其源码,有两种方

2015-09-15 09:25:11 9435 1

转载 UML类图几种关系的总结

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)         1. 泛化(Generalization)        【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特

2015-09-08 15:30:36 433

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除