- 博客(150)
- 资源 (18)
- 收藏
- 关注
转载 HTML CSS特殊字符总结
HTML有许多特殊的字符,您对此有多少了解?平时在WEB制作中,您又有用到多少?或者说你在平时使用之时,是否也会碰到,有许多特殊字符要如何打印出来?比如说“笑脸”,比如说“版权号”。要是你用时忘记了这些特殊字符,不要紧,请记住今天这个地址,你就随时可以查到这些特殊字符的表示方法。简单的介绍一下其使用方法:1、这些字符属于unicode字符集,你的文档需要声明为”utf-8“2、列表符号后面有两列编
2016-07-26 09:15:43
4149
原创 JavaScript数组的栈方法与队列方法
数组(Array)和对象(Object)应该是JavaScript中使用最多也是最频繁的两种类型了,Array提供了很多常用的方法:栈方法、队列方法、重排序方法、操作方法、位置方法、迭代方法等等。虽然也经常使用其栈方法和队列方法,但每次都不是太肯定,特地总结一下1、Array的栈方法栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构,也就是最新添加的项最早被移除。栈中项的插
2016-05-24 13:20:53
3862
原创 Leaflet绘制热力图
时下用的最多的开源二维webgis引擎应该是openlayers与leaflet了,leaflet因其轻量、灵活性得到了越来越多的应用。并且leaflet的插件也非常多,综合使用的话,可以很容易的实现数据的可视化分析与应用1、leaflet-heat插件leaflet-heatmap插件:https://github.com/Leaflet/Leaflet.heat leaflet插件:http
2016-05-24 00:01:16
17812
原创 JavaScript按照对象的某个属性进行排序
JavaScript按照对象的某个属性进行排序1、背景 在使用Echart绘制地图专题图时,左侧的visualMap控件需要min和max两个参数,要求低的话可以默认设置0-max(这里为固定预设最大值),要求高的话,就要根据查询结果提取最值,然后在动态设置visualMap的min和max值。Echarts:http://echarts.baidu.com/demo.html#map-chi
2016-05-23 23:08:28
4315
原创 JavaScript使用Sqlite数据库
偶然的机会,看到js还可以读取Sqlite数据库,很感兴趣。之前,自己都是在后台写Servlet去操作数据库,前端通过JS调用才能实现数据的交互(尽管node.js的出现使前后台都能使用同一种语言)。但是对于一些小的数据交互,在前台直接使用sqlite无疑使很方便的。Github:https://github.com/kripken/sql.js 变懒了,不想再写博客了,等闲下来的时候想自己做个
2016-05-18 21:54:27
11204
原创 BootStrap插件使用总结
BootStrap插件使用总结 记录下Bootstrap一些常用的插件使用方法,千万要注意插件的版本!1、Bootstrap Switch开关控件。相比checkbox,switch就要好看的多了。在bootstrap-switch下载即可,添加css文件,按照amd规范引入.js文件即可,不再过多赘述。require.config({ waitSeconds : 0, pat
2016-05-10 22:02:59
8500
原创 JavaScript模块化编程实例——天气预报
良好的习惯是成功的一半。今天总结一个JavaScript模块化编程实例学习交流,这个例子是之前没有按照模块化概念来写的,今天把它按照AMD规范重新封装了一个js文件,主要实现天气预报数据的解析与地图绘制。天气API采用百度API集市提供的天气预报API。1、weatherUtil.jsweatherUtil.js是解析天气预报数据模块,完成数据解析和图层绘制两个工作,代码如下,熟悉requirej
2016-04-19 00:26:33
2616
原创 深入理解JavaScript模块化编程:RequireJS
1、开篇的话之前写过一篇JavaScript模块化编程,当时是结合自己做的东西来写的,比着葫芦画瓢。现在回过头来看,依然有些不是太理解的地方,现在重新写个小例子,加深自己的理解。JavaScript模块化概念及重要性以及RequireJS的好处就不介绍了,可以看文章末尾的链接,都有很详细的阐述2、定义模块(键值对)模块定义使用define()方法,该方法有三个参数:define(id?, depen
2016-04-17 21:41:22
2463
原创 R语言批量处理TRMM降雨数据
最近在使用TRMM遥感降雨数据,下载的源数据是bin格式的,要转成tif格式的才能供后续研究使用,下载的数据文件中提供了MATLAB与Fortran两种读取方式,一开始尝试使用MATLAB读取,发现效率很低;后来经过搜索,使用R可以非常方便快速的实现bin到tif的批量转换1、准备工作安装R后需要安装raster、gdal、Rsenal三个包(可能安装带有)2、批处理脚本setwd("你的工作空间
2016-04-16 23:02:37
10818
7
原创 jqGrid使用记录总结
jqGrid使用记录总结 表格应该也是最常用的控件之一了,尽管BootStrap提供了表格,但是只能用于静态数据;要实现查询检索等操作还是要借助其他表格插件的,这里我采用的是jqGrid1、需求功能设计需要两个表一个折线图(EChart):其中一个表为总表(显示当前所有信息),选择一个站点,可以显示该站历时信息,同时绘制变化曲线。2、解决方案2.1 html代码<div class="cont
2016-04-16 22:28:48
3359
1
原创 JavaScript设计模式
工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程,可以用函数来封装以特定接口创建对象的细节。 之前在Java的DAO中用过这种设计模式,比较容易理解。function createPerson(name,age,sex){ var obj = new Object(); obj.name = name; obj.age = age;
2016-03-28 23:51:16
876
原创 JavaScript面向对象程序设计
JavaScript中的对象 JavaScript中对象的定义为:无序属性的集合,其属性可以包含基本值、对象或者函数。可以把对象想象成散列表,就是一组名值对(key:value),其中值可以是数据或函数,每个对象都是基于一个引用类型创建的。理解对象 前面的博客里写过创建对象的方式有两种,一种是创建一个object的实例,另一种是使用对象字面量法:var person = new Object
2016-03-28 23:35:32
851
原创 BootStrap实用代码片段(持续总结)
> 如题,持续总结自己在使用BootStrap中遇到的问题,并记录解决方法。希望能帮到需要的小伙伴1、bootstrap上下布局,顶部固定下部填充应用场景:经典上下布局中,顶部导航条固定,下部填充不显示滚动条 解决方案:导航条固定在顶部,同时为body设置内边距(padding-top),内边距为导航条高度(默认50px,可自己调整高度),html代码如下:<!--html页面布局--><di
2016-03-20 23:50:58
3341
2
原创 JavaScript函数内部属性和函数方法
函数是对象,有自己的属性和方法 。首先通过console下输出的函数属性方法来直观的看一下: 函数内部属性只要包括两个特殊的对象:arguments和this。函数属性包括:length和prototype函数方法(非继承)包括:apply()和call()继承而来的函数方法:bind()、toString()、toLocaleString()、valueOf()其他的目前不熟,后面再补充
2016-03-16 22:04:03
2813
原创 JavaScript中的引用类型
JavaScript中的引用类型JavaScript中的数据类型有两种,基本类型与引用类型!基本类型主要包括Boolean、String、Number;引用类型包括Object、Array、Function、Date(常用的)。引用类型引用类型的值(对象)是引用类型的一个实例。在JS中,引用类型是一种数据结构,用于将数据和功能组织在一起。它也常被称为类,但这种称呼并不妥当。尽管JS从技术上讲是一门面
2016-03-16 20:36:39
2094
原创 JavaScript模块化编程
JavaScript模块化编程的重要性JavaScript的原型是java,它也是一种面向对象编程语言,属于一种弱类型语言,它具有更大的灵活性。以往在编写javascript代码时,都是直接编写一个个.js文件,然后用script标签在html页面中引用,这样就会带来几方面的问题:出现大量的全局变量 js在每个地方都可以定义一个全局变量,编写不符合规范将导致大量全局变量的出现,最终程序将难以维护
2016-03-04 11:54:49
2215
3
原创 LOD原理
1、投影(Projection)谷歌地图采用的是墨卡托投影法,这里转载(http://www.cnblogs.com/willwayer/archive/2010/06/11/1756446.html)下墨卡托投影的定义:墨卡托(Mercator)投影,又名“等角正轴圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地
2016-01-09 13:53:27
3320
原创 jquery easyui datagrid实现数据修改
1、单击选中待修改行2、使用单独对话框修改数据3、使用updateRow方法修改数据(注意这里只是修改了网页上显示的数据,并没有同步修改数据库中的数据,如果也要同步修改数据库中的数据可以写一个servlet实现)
2015-08-01 00:31:57
2850
1
原创 OpenLayers学习笔记10——datagrid双击缩放指定点
这里实现gis里最常用的功能:缩放至图层(或者缩放至要素),实现效果如下:这个实现就很简答了,主要用到的是datagrid的双击事件,其api是这么描述的:那么,只要获取双击行的经纬度,然后利用map的setCenter或zoomto方法就可以了。代码如下: onDblClickRow: function(rowIndex, rowData){
2015-06-22 01:05:03
3126
原创 OpenLayers学习笔记9——使用servlet与jquery-ui实现自动提示输入
做软件都要从用户的角度来做,怎么样让用户输入的更少,体验更好,我们就应该怎么来做,也就是需求驱动,客户都是大爷!题外话说完了,步入正题,本文实现在查询时输入查询条件时,自动提示数据库中包含改值所有记录(注意,我这里用的是包含,not start,not end,这是跟mysql的模糊查询相关的),看下实现效果:1、使用jquery ui的autocomplete控件jQuery
2015-06-22 00:46:47
2427
原创 OpenLayers学习笔记8——使用servlet从mysql获取数据并标注
这两天在图书馆边看jsp边查边写代码,改完了老板交给的任务,也顺带实现了查询的效果,先来看下最终实现的效果图:整个实现思路是:服务器端采用servlet+mysql模糊查询,servlet返回json数据,客户端解析json数据以表格形式显示并根据经纬度在地图上进行标注。1、服务器端Servlet代码:package edu.whu.vge.servlet;import j
2015-06-20 10:30:43
4187
1
原创 OpenLayers学习笔记7——使用javaBean实现用户登录
之前的开发是采用phpStorm,前端:html+css+javascript+jquery,服务器端:php;但是这个前后台交互要通过ajax来实现数据交互,中间遇到了跨域的问题,卡了两天虽然解决了但是后面部署的话会比较麻烦。正好最近老板让我接手之前另一个项目开发的软件,是用jsp写的,一开始我是拒绝的,后来借了一本jsp的书,用一天的时间快速读了下,觉得这个开发部署要方便很多,于是就把之前的代
2015-06-18 17:27:56
2284
原创 OpenLayers学习笔记6——使用jQuery UI实现查询并标注(功能实现篇)
本篇博客接上篇是关于OpenLayers的地图标注及弹出窗(marker+popup),先来看下效果图:下面给出代码,都写了注释,不做过多解释了:///添加标记function addMarke(x, y, attribute){ //设置marker样式 var style_mark = OpenLayers.Util.extend({}, OpenLaye
2015-06-09 19:32:31
2400
原创 OpenLayers学习笔记5——使用jQuery UI实现查询并标注(UI篇)
最近事情很多,老板给的压力也很大,经常出差,另外项目和个人研究还都要跟上,本月要交论文,还要写专利,只能抽时间来学习其他的东西了。关于OpenLayers的在博客中不会写太多具体的实现(网上有很多openlayers的博客,关于加载wms、标记、量测的,我这里就不再重复了),只是记录自己的开发学习经验和一些需要注意的问题,真正做开发的都知道,要想学好开发只能通过自己默默的多磨。。关于WW的学习和开
2015-06-09 01:32:25
3542
原创 OpenLayers学习笔记4——使用jQuery UI实现测量对话框
OpenLayers学习最好的方式就是跟着其自带的示例进行学习,另外对web前端的开发设计要了解,慢慢积累,这样在一般的小项目中应该是足够用了。本篇参照量测demo实现对话框形式的量测,抛砖引玉,通过这个功能,后面的查询、定位等基于对话框的形式就很容易实现了。先看下效果图:长度测量:面积测量:代码基本都是demo里的代码,就不贴出来了。这里需要注意的问题是,在关闭窗口的
2015-06-06 21:04:13
2859
原创 OpenLayers学习笔记3——使用jQuery UI美化界面设计
PC端软件在开发是有较多的界面库可以选择,比如DevExpress、BCG、DotNetBar等,可以很方便快捷的开发出一些炫酷的界面,最近在学习OpenLayers,涉及到web前端开发,在设计界面时刚开始不熟悉,设计的很丑,后来参照ArcGIS在线体验中心的demo以及对web前端界面设计库的调研,最终采用jQuery UI来美化界面(还有比较强大的Dojo)。先来看下效果:这里说
2015-06-06 20:49:12
3382
原创 OpenLayers学习笔记2——坐标转换问题
参照别人的添加marker的demo来改造时,发现无论怎样更改经纬度,都是停留在同一个位置。过了一两天突然想起可能是坐标参考的问题,尝试搜了一下,果然是这个问题。问题是这样子的:WMTS中地图的坐标参考系是102100(具体是哪个不清楚),如下图所示:而我在初始化地图时设置的参数如下图所示:projection属性设置的是‘EPSG:102100’,displayProjectio
2015-06-03 00:10:24
12980
原创 OpenLayers学习笔记1——实现WMTS的逐级无缝缩放
在内网部署应用时,将下载的地图发布为WMTS服务,可以提升地图访问速度,并可以通过设置相关参数实现不同地图的无缝缩放(世界---中国----省---市),效果图如下所示:代码如下: //GSM矢量全球切片 GSMapEarth = new OpenLayers.Layer.WMTS( { name:
2015-06-02 13:03:25
3524
转载 OpenLayers项目分析——(九)控件
OpenLayers中的控件,是通过加载到地图上而起作用的,也算地图表现的一部分。同时,控件需要对地图发生作用,所以每个控件也持有对地图(map对象)的引用。 前面说过,控件是于事件相关联的。具体的说就是控件的实现是依赖于事件绑定的,每个OpenLayers.Control及其子类的实例都会持有一个handler的引用的。 那么,怎么来创建并添加一个控件呢?用下面的语句:
2015-05-15 19:11:59
1359
转载 OpenLayers项目分析——(八)地图表现(续)
上一回说到OpenLayers.Map类,这回介绍组成Map的主体部分OpenLayers. Layer类,先从其实现细节上分析,看它是怎么设计出来的。关于它许许多多的子类,即各种图层,想单独写一篇。 OpenLayers. Layer提供了一个EVENT_TYPES常量,用于支持关于图层的应用事件类型,这些事件有"loadstart", "loadend", "loadcancel",
2015-05-15 19:10:42
1164
转载 OpenLayers项目分析(七)地图表现
一开始看到OpenLayers,就有一个问题。就是它作为WebGIS的前端,通俗地说,是“显示”地图的。那么,它显示的地图是什么,是怎么显示的,又是怎么实现的?——暂且把这个问题叫做地图表现。我觉得最关键的就是Map类,把这个类分析清楚了,问题就解决了一大半了。 前面第一回里说过怎么实例化一个地图,怎么向地图里加图层加控件。其实,地图是这样的,它就像一个容器,可以盛东西。要分析它光理解这些还
2015-05-15 19:08:08
1382
转载 OpenLayers项目分析(六)数据渲染分析
实际上,OpenLayers的整个表现过程是这样的:通过调用获取数据,然后各种格式的解析器解析数据,在用所谓的渲染器渲染后加到图层上,最后再结合相应的控件表现出来,成为一幅我们看到的“动态”地图。 这里主要讨论OpenLayers. Renderer这个类及其子类。 Renderer类提供了一些虚方法,以供其子类继承,像setExtent、drawFeature、drawGeometr
2015-05-15 19:05:09
2601
转载 OpenLayers项目分析(五) 数据解析以GML为例
前面也提到过,OpenLayers设计是符合标准的,有良好的框架结构和实现机制,非常值得学习。OpenLayers支持的格式比较多,有XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS等。这回主要以GML为例来看OpenLayers 数据的解析过程。 先来了解一下GML: GML (Geography Markup Language)即地理标识语言,它由OGC(开放
2015-05-15 19:00:30
2006
转载 OpenLayers项目分析(四)空间数据的组织与实现
GIS,核心是什么?数据?平台?服务? 空间数据的特征、表达方式? 地理数据的模型(结构)? 在OpenLayers空间数据的实现主要存在OpenLayers. Geometry类及其子类中。我们先看下面的两个图片,表现了这些类的继承关系。从图上可以清楚的看出MultiPoint、Polygon和MultiLineString 这三个类实现了多重继承,即直接继承于Geomet
2015-05-15 18:56:31
1627
转载 OpenLayers 项目分析(三)-OpenLayers中定制JavaScript内置类
(三)BaseTypes: OpenLayers中定制JavaScript内置类 OpenLayers不仅“自己”写了一些底层的类,像上回说的那些都是。同时也定制了一些JS的一些内置类,即对JS内置类的扩展。这个扩展主要包含3类:String,Number,Function,存在于BaseTypes.js文件中。 String:OpenLayers对string类型定制了8个方法,
2015-05-15 18:51:53
1231
转载 OpenLayers 项目分析(三)BaseTypes
(三)BaseTypes :定义底层类与定制JS内置类 先说基类型BaseTypes下,OpenLyers构建的“自己”的类。它们分别是:OpenLayers. LonLat、OpenLayers. Pixel、OpenLayers.Size、OpenLayers. Element、OpenLayers. Bounds和OpenLayers. Class。下面分别介绍: Op
2015-05-15 18:48:54
1135
转载 OpenLayers 项目完整分析(二)源代码总体结构分析
通过前面的项目介绍,我们大概已经知道 Openlayers是什么,能够做什么,有什么意义。接下来我们分析它怎么样,以及怎样实现的等问题。 这个图是从它的文档上截取的,旨在从感官上认识一下OpenLayers的类。下面分别介绍(文档中的类是按字母顺序排列的,也按这个顺序说吧): 我们看到在类的顶层“高高在上”的是OpenLayers,它为整个项目实现提供名称空间(J
2015-05-15 18:47:49
2509
1
转载 OpenLayers项目分析——(一)项目介绍
OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包,目前的最高版本是2.7 V,通过BSD License 发行。它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范, OpenLayers采用纯面向对象的JavaScript方式开发,同时借用了Prototype框架和Rico库的一些组件。 采用OpenL
2015-05-15 18:42:36
1374
转载 openlayers 初步认识
OpenLayers是一个开源的js框架,用于在您的浏览器中实现地图浏览的效果和基本的zoom,pan等功能。OpenLayers支持的地图来源 包括了WMS,GoogleMap,KaMap,MSVirtualEarth等等,您也可以用简单的图片作为源,在这一方面OPenLayers提供了 非常多的选择。 要使用OpenLayers,您可以到它的官方网站http://www.openlay
2015-05-15 18:40:24
1202
原创 World Wind Java开发之十五——加载三维模型
之前的一篇博客是关于加载粗三维模型的,见http://blog.youkuaiyun.com/giser_whu/article/details/43452703,这个地方还存在着不能加载纹理的问题,一直没呢解决。那么WW如何加载常用的三维模型格式(3ds、obj、skp)呢,通过一番搜索,了解到WW可以加载collada的dae格式的三维模型,并且还可以加载kml\kmz文件,那么WW加载三维模型的方法就出
2015-03-18 19:25:18
6959
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人