
开源GIS
文章平均质量分 75
召唤师峡谷
WebGIS、3DGIS、DesktopGIS,移动开发
展开
-
开源GIS编译资料
开源GIS编译资料 作为一个giser经常编译开源gis,这里列出相关资源,与大家分享。 编译gdal, 文玉的blog介绍了编译和处理中文路径问题,具体见http://blog.youkuaiyun.com/linsoon/article/details/7338576 编译geos ,linlin大哥的介绍编译方转载 2014-04-14 22:52:02 · 1524 阅读 · 0 评论 -
OpenLayers学习笔记7——使用javaBean实现用户登录
之前的开发是采用phpStorm,前端:html+css+javascript+jquery,服务器端:php;但是这个前后台交互要通过ajax来实现数据交互,中间遇到了跨域的问题,卡了两天虽然解决了但是后面部署的话会比较麻烦。正好最近老板让我接手之前另一个项目开发的软件,是用jsp写的,一开始我是拒绝的,后来借了一本jsp的书,用一天的时间快速读了下,觉得这个开发部署要方便很多,于是就把之前的代原创 2015-06-18 17:27:56 · 2291 阅读 · 0 评论 -
OpenLayers学习笔记9——使用servlet与jquery-ui实现自动提示输入
做软件都要从用户的角度来做,怎么样让用户输入的更少,体验更好,我们就应该怎么来做,也就是需求驱动,客户都是大爷!题外话说完了,步入正题,本文实现在查询时输入查询条件时,自动提示数据库中包含改值所有记录(注意,我这里用的是包含,not start,not end,这是跟mysql的模糊查询相关的),看下实现效果:1、使用jquery ui的autocomplete控件jQuery原创 2015-06-22 00:46:47 · 2434 阅读 · 0 评论 -
OpenLayers学习笔记10——datagrid双击缩放指定点
这里实现gis里最常用的功能:缩放至图层(或者缩放至要素),实现效果如下:这个实现就很简答了,主要用到的是datagrid的双击事件,其api是这么描述的:那么,只要获取双击行的经纬度,然后利用map的setCenter或zoomto方法就可以了。代码如下: onDblClickRow: function(rowIndex, rowData){原创 2015-06-22 01:05:03 · 3133 阅读 · 0 评论 -
OpenLayers学习笔记2——坐标转换问题
参照别人的添加marker的demo来改造时,发现无论怎样更改经纬度,都是停留在同一个位置。过了一两天突然想起可能是坐标参考的问题,尝试搜了一下,果然是这个问题。问题是这样子的:WMTS中地图的坐标参考系是102100(具体是哪个不清楚),如下图所示:而我在初始化地图时设置的参数如下图所示:projection属性设置的是‘EPSG:102100’,displayProjectio原创 2015-06-03 00:10:24 · 12985 阅读 · 0 评论 -
OpenLayers学习笔记3——使用jQuery UI美化界面设计
PC端软件在开发是有较多的界面库可以选择,比如DevExpress、BCG、DotNetBar等,可以很方便快捷的开发出一些炫酷的界面,最近在学习OpenLayers,涉及到web前端开发,在设计界面时刚开始不熟悉,设计的很丑,后来参照ArcGIS在线体验中心的demo以及对web前端界面设计库的调研,最终采用jQuery UI来美化界面(还有比较强大的Dojo)。先来看下效果:这里说原创 2015-06-06 20:49:12 · 3391 阅读 · 0 评论 -
OpenLayers学习笔记4——使用jQuery UI实现测量对话框
OpenLayers学习最好的方式就是跟着其自带的示例进行学习,另外对web前端的开发设计要了解,慢慢积累,这样在一般的小项目中应该是足够用了。本篇参照量测demo实现对话框形式的量测,抛砖引玉,通过这个功能,后面的查询、定位等基于对话框的形式就很容易实现了。先看下效果图:长度测量:面积测量:代码基本都是demo里的代码,就不贴出来了。这里需要注意的问题是,在关闭窗口的原创 2015-06-06 21:04:13 · 2866 阅读 · 0 评论 -
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 · 2404 阅读 · 0 评论 -
OpenLayers学习笔记5——使用jQuery UI实现查询并标注(UI篇)
最近事情很多,老板给的压力也很大,经常出差,另外项目和个人研究还都要跟上,本月要交论文,还要写专利,只能抽时间来学习其他的东西了。关于OpenLayers的在博客中不会写太多具体的实现(网上有很多openlayers的博客,关于加载wms、标记、量测的,我这里就不再重复了),只是记录自己的开发学习经验和一些需要注意的问题,真正做开发的都知道,要想学好开发只能通过自己默默的多磨。。关于WW的学习和开原创 2015-06-09 01:32:25 · 3546 阅读 · 0 评论 -
OpenLayers学习笔记1——实现WMTS的逐级无缝缩放
在内网部署应用时,将下载的地图发布为WMTS服务,可以提升地图访问速度,并可以通过设置相关参数实现不同地图的无缝缩放(世界---中国----省---市),效果图如下所示:代码如下: //GSM矢量全球切片 GSMapEarth = new OpenLayers.Layer.WMTS( { name:原创 2015-06-02 13:03:25 · 3536 阅读 · 0 评论 -
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 · 4198 阅读 · 1 评论 -
World Wind Java开发之十四——添加WMS地图服务资源
数据是GIS的核心,没有数据一切无从谈起,Internet上有很多在线WMS地图服务资源,我们可以好好利用这些数据资源,比如天地图、必应地图、NASA、OGC数据服务等等。在我们国家常用的还是天地图的地图服务资源,详见:http://blog.3snews.net/space.php?uid=6955280&do=blog&id=67981,这篇博客列举了一些常用的在线地图服务资源,读者可以自原创 2015-02-05 11:39:33 · 11807 阅读 · 8 评论 -
World Wind Java开发之十二——加载粗制三维模型(ExtrudedPolygon)
ww可以根据DLG图批量生成假三维模型,这对于小区等特征相似的建筑物模型的构建是非常有用的。下面来看如何一步步实现假三维模型的加载:1、Shp文件的制作首先在arcmap下数字化几个建筑物,并新建height字段存储建筑物的高度。2、代码实现 /** * * @方法名称: init3DModel ; * @方法描述: 导入简易三维模型 ;原创 2015-02-03 18:18:33 · 5170 阅读 · 13 评论 -
OpenLayers项目分析——(九)控件
OpenLayers中的控件,是通过加载到地图上而起作用的,也算地图表现的一部分。同时,控件需要对地图发生作用,所以每个控件也持有对地图(map对象)的引用。 前面说过,控件是于事件相关联的。具体的说就是控件的实现是依赖于事件绑定的,每个OpenLayers.Control及其子类的实例都会持有一个handler的引用的。 那么,怎么来创建并添加一个控件呢?用下面的语句:转载 2015-05-15 19:11:59 · 1366 阅读 · 0 评论 -
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 · 1232 阅读 · 0 评论 -
World Wind Java开发之七——读取本地栅格文件(影像+高程)构建三维场景
首先,看下本篇博客要达到的效果图:下面逐步分析如何加载影像及高程文件。1、WorldWind Java导入数据包在src源码文件中找到dataimport包,这个包里面的示例代码演示了如何向WW上加载影像及高程文件。可以看到有import和install两种方式,import是简单的以图层的形式加载到WW上;install是指当文件较大时,将文件以本地缓存的方式加载,这里先以i原创 2014-12-02 16:51:20 · 9069 阅读 · 16 评论 -
World Wind Java开发之十一——加载热点信息(仿Google Earth)
在GE的图层中有一个照片图层,在浏览时可以看到各地的一些图片,我们称之为热点信息,如下图所示:再来看下本文的实现效果:效果是不是很像呢,其实实现这个很简单,参照examples中的Balloons就可以很容易的实现,这里我自己封装了BalloonUtil类便于复用,代码很简单都加了注释就不再一一展开了,直接附上源代码,有看不明白的地方可以留言交流哈。/** * @Copyri原创 2015-02-03 17:22:39 · 5100 阅读 · 2 评论 -
World Wind Java开发之十三——加载Geoserver发布的WMS服务
这篇是转载的平常心博客,原地址见:http://www.v5cn.cn/?p=171WorldWind图层类(3)-WMSTiledImageLayer类发表于2013年11月8日1、类说明这一篇我们将使用《OSM数据插入PostGIS数据库为GeoServer提供数据》中发布的WMS服务来完成WMSTiledImageLayer的简单测试。一个WM转载 2015-02-04 16:07:19 · 5620 阅读 · 5 评论 -
World Wind Java开发之九——阶段小结
将近一个月没有更新了,一是因为项目的事情,二是期末考试复习,三是玩啦。上一篇博客搭建起了三维框架,这段时间没有研究新的东西,把之前用C#写的代码移植到现在的平台下,中间也遇到了不少问题,但还好都解决掉了,大都是写基本的小问题,就没有写博记录了。看下效果:1、三维地形构建数据都是自己下载的,DEM在地理空间数据云上下载的,影像用BIGE MAP地图下载器下载,经过投影变换以及Glob原创 2015-01-16 22:19:09 · 3509 阅读 · 3 评论 -
World Wind Java开发之十——AnalyticSurface栅格渲染
1、AnalyticSurfaceDemoArcGIS下对栅格的各种分级渲染效果是非常好的,可以做出很漂亮的图,现在在WW下也可以做出同样的效果了,看到这里是不是有点小兴奋呢。先看下WW自带的AnalyticSurfaceDemo的运行效果图:通过看源代码可以知道给出了三种渲染示例,其中两种是动态的,这里我需要的是对dem数据或者是单波段影像的渲染,也就是左上方的渲染效果。2、原创 2015-01-22 13:10:20 · 3775 阅读 · 2 评论 -
OpenLayers项目分析(七)地图表现
一开始看到OpenLayers,就有一个问题。就是它作为WebGIS的前端,通俗地说,是“显示”地图的。那么,它显示的地图是什么,是怎么显示的,又是怎么实现的?——暂且把这个问题叫做地图表现。我觉得最关键的就是Map类,把这个类分析清楚了,问题就解决了一大半了。 前面第一回里说过怎么实例化一个地图,怎么向地图里加图层加控件。其实,地图是这样的,它就像一个容器,可以盛东西。要分析它光理解这些还转载 2015-05-15 19:08:08 · 1385 阅读 · 0 评论 -
OpenLayers项目分析——(八)地图表现(续)
上一回说到OpenLayers.Map类,这回介绍组成Map的主体部分OpenLayers. Layer类,先从其实现细节上分析,看它是怎么设计出来的。关于它许许多多的子类,即各种图层,想单独写一篇。 OpenLayers. Layer提供了一个EVENT_TYPES常量,用于支持关于图层的应用事件类型,这些事件有"loadstart", "loadend", "loadcancel",转载 2015-05-15 19:10:42 · 1172 阅读 · 0 评论 -
OpenLayers项目分析(四)空间数据的组织与实现
GIS,核心是什么?数据?平台?服务? 空间数据的特征、表达方式? 地理数据的模型(结构)? 在OpenLayers空间数据的实现主要存在OpenLayers. Geometry类及其子类中。我们先看下面的两个图片,表现了这些类的继承关系。从图上可以清楚的看出MultiPoint、Polygon和MultiLineString 这三个类实现了多重继承,即直接继承于Geomet转载 2015-05-15 18:56:31 · 1628 阅读 · 0 评论 -
openlayers 初步认识
OpenLayers是一个开源的js框架,用于在您的浏览器中实现地图浏览的效果和基本的zoom,pan等功能。OpenLayers支持的地图来源 包括了WMS,GoogleMap,KaMap,MSVirtualEarth等等,您也可以用简单的图片作为源,在这一方面OPenLayers提供了 非常多的选择。 要使用OpenLayers,您可以到它的官方网站http://www.openlay转载 2015-05-15 18:40:24 · 1206 阅读 · 0 评论 -
OpenLayers 项目完整分析(二)源代码总体结构分析
通过前面的项目介绍,我们大概已经知道 Openlayers是什么,能够做什么,有什么意义。接下来我们分析它怎么样,以及怎样实现的等问题。 这个图是从它的文档上截取的,旨在从感官上认识一下OpenLayers的类。下面分别介绍(文档中的类是按字母顺序排列的,也按这个顺序说吧): 我们看到在类的顶层“高高在上”的是OpenLayers,它为整个项目实现提供名称空间(J转载 2015-05-15 18:47:49 · 2523 阅读 · 1 评论 -
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 · 2008 阅读 · 0 评论 -
OpenLayers项目分析——(一)项目介绍
OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包,目前的最高版本是2.7 V,通过BSD License 发行。它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范, OpenLayers采用纯面向对象的JavaScript方式开发,同时借用了Prototype框架和Rico库的一些组件。 采用OpenL转载 2015-05-15 18:42:36 · 1388 阅读 · 0 评论 -
OpenLayers项目分析(六)数据渲染分析
实际上,OpenLayers的整个表现过程是这样的:通过调用获取数据,然后各种格式的解析器解析数据,在用所谓的渲染器渲染后加到图层上,最后再结合相应的控件表现出来,成为一幅我们看到的“动态”地图。 这里主要讨论OpenLayers. Renderer这个类及其子类。 Renderer类提供了一些虚方法,以供其子类继承,像setExtent、drawFeature、drawGeometr转载 2015-05-15 19:05:09 · 2605 阅读 · 0 评论 -
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 · 1142 阅读 · 0 评论 -
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 · 6968 阅读 · 11 评论