文档章节

基于OpenLayers实战地理信息系统(离线地图,通过基站转经纬度,Quartz深入,轨迹实战)

beifeng_泠
 beifeng_泠
发布于 2013/12/30 13:42
字数 2525
阅读 331
收藏 0
点赞 0
评论 0

一、本课程是怎么样的一门课程(全面介绍)

   1.1、课程的背景

        OpenLayers是一个用于开发WebGIS客户端的JavaScript包。

 

        地理地图众多方案实现的对比:

 

        1.采用互联网公开地图服务

 

   baidu地图,高德地图,google地图,QQ地图,世纪高通地图,阿里云地图,51地图,搜狗地图  内网安全及断网问题无法解决

 

        2.geoserver+geowebcache+Udig

 

   地图数据怎么办,从哪里得到那么细致的街道数据?(肯定要花钱买)另学习成本极其高,不是一般非地理专业的IT人士所能搞定的,没2-3月的学习无法上手开始开发。

 

        3.商业中间件

 

   Supermap ,ArcGis 等等,简直是恶梦,首先几十-百万的费用不说,复杂的系统结构,庞杂的地图专业知识,足以拖死一个团队。

 

 

    1.2、课程内容简介

 

        本课程旨在快速搭建地理信息展示系统。主要目的在于让学员了解OpenLayers的基本概念及关键API、掌握内网离线地图优化项目实战技巧以及结合地理信息系统展示的特点使用OpenLayers实战解决实际问题。

 

 

根据实际的引用场景,本课程主要介绍

 

 

(一) 项目快速实战地理信息展示

 

 

(二) 高级-通过基站cellid转经纬度实战

 

 

(三) 定时器Quartz进阶实战

 

 

(四) OpenLayers离线地图快速优化项目实战

 

 

(五) 高级-OpenLayers源代码分析及技能训练

 

 

   这五大实战内容。

 

 

   1.3、课程大纲

 

       第一讲:概述

     第二讲:庞杂的GIS体系概览

     第三讲:项目快速实战(一)

     第四讲:项目快速实战(二)

     第五讲:项目快速实战(三)

     第六讲:项目快速实战(四)

     第七讲:项目快速实战(五)

     第八讲:项目快速实战(六)

     第九讲:项目快速实战(七)

        第十讲:项目快速实战(八)

        第十一讲:项目快速实战(九)

        第十二讲:高级-通过基站cellid转经纬度(一)

        第十三讲:高级-通过基站cellid转经纬度(二)

        第十四讲:高级-通过基站cellid转经纬度(三)

        第十五讲:定时器Quartz进阶(一)

        第十六讲:定时器Quartz进阶(二)

        第十七讲:定时器Quartz进阶(三)

        第十八讲:定时器Quartz进阶(四)

        第十九讲-定时将基站cellid转经纬度

        第二十讲:OpenLayers离线地图快速实战(一)

        第二十一讲:OpenLayers离线地图快速实战(二)

        第二十二讲:OpenLayers离线地图快速实战(三)

        第二十三讲:OpenLayers离线地图快速实战(四)

        第二十四讲:OpenLayers离线地图快速实战(五)

        第二十五讲:高级-OpenLayers源代码分析(一)

        第二十六讲:高级-OpenLayers源代码分析(二)

        第二十七讲:高级-OpenLayers源代码分析(三)

        第二十八讲:高级-OpenLayers源代码分析(四)

        第二十九讲:高级-OpenLayers源代码分析(五)

        第三十讲:高级-OpenLayers源代码分析(六)

        第三十一讲:高级-OpenLayers源代码分析(七)

        第三十二讲:高级-OpenLayers源代码分析(八)

        第三十三讲:高级-OpenLayers源代码分析(九)

 

        一、项目快速实战地理信息展示(9课时)

 

 

             采用jquery+googlemap的实战

            若不存在内网不能上互联网的风险,公共互联网地图服务是一个不错的选择

 

      构建项目工程

    jquery.min.js( jQuery JavaScript Library v1.4.2)

    Icons(大家可以在随课程的发放工程文件包webmap中获取)

 

      简单显示googlemap

 

      查询表单构建

    jquery.datePicker-min.js 的使用

 

      简单googlemap操控

   标注

   连线画轨迹

   冒泡提示

 

      构建查询结果数组并显示

 

      模拟数据数组实现功能

 

      显示所有设备的最后位置状态

 

      显示某设备的最后位置状态

 

      显示某设备的轨迹

 

      采用json传递数据

 

      服务端代码实现

 

      读取数据库

     位置表location设计使用

 

     服务端读取数据代码实现

 

     服务端读取数据库代码实现

 

 

 

        二、高级-通过基站cellid转经纬度实战 (3课时)

 

 

         关键服务地址:

     http://www.google.com/glm/mmap

 

         Apache 的HttpClient

     http://hc.apache.org/httpclient-3.x/

 

         基站的电信运营商及国家代码

     http://en.wikipedia.org/wiki/Mobile_country_code#C

     mcc:china :460

     mnc:  china mobile:00

 

         服务端代码高可靠修改

 

         定时器Quartz的使用

     http://www.quartz-scheduler.org/

 

         Quartz是什么?

 

         Quartz能干什么?

 

        快速简单的例子

 

 

 

        三、定时器Quartz进阶实战(5课时)

 

 

     下载:

        http://www.quartz-scheduler.org/download/index.html

 

      Quartz框架分析:

      核心接口:Scheduler、Job、JobDetail、Trigger、JobDataMap、Scheduler(调度器)

 

       Scheduler(调度器):

      客户端与调度器交互是通过 org.quartz.Scheduler 接口的。

 

       Scheduler实例化:

      使用scheduler之前应首先实例化它。

 

       Scheduler启动关闭

 

       Job:

     作业是一个执行任务的简单java类。

 

       JobDetail:

     JobDetail对象由Quartz客户端在Job被加入到scheduler时创建。

 

       JobFactory:

      JobFactory控制job的实例化

 

        JobDataMap:

      JobDataMap被用来保存一系列的(序列化的)对象,这些对象在Job执行时可以得到。JobDataMap是Java Map接口的一个实现,而且还增加了一些存储和读取主类型数据的便捷方法。

 

        StatefulJob有状态任务:

       任务在执行任务过程中,任何对Job Data Map所作的更改都将丢失而且任务下次执行时也无法看到。

 

         Trigger:

       Trigger对象被用来触发jobs的执行。

 

         SimpleTrigger:

       SimpleTrigger用来触发只需执行一次或者在给定时间触发并且重复N次且每次执行延迟一定时间的任务。

 

          CronTrigger

       如果你需要像日历那样按日程来触发任务,而不是像SimpleTrigger 那样每隔特定的间隔时间触发,CronTriggers通常比SimpleTrigger更有用。

 

         Cron Expressions

       Cron表达式被用来配置CronTrigger实例。Cron表达式是一个由7个子表达式组成的字符串。每个子表达式都描述了一个单独的日程细节。

 

         定时将基站cellid转经纬度

 

 

 

         四、OpenLayers离线地图快速优化项目实战(5课时)

 

 

        离线地图

     内网无法访问外网,如何将地图底图提前下载到服务器端?

 

        OpenLayers

     http://openlayers.org/

 

        什么是OpenLayers?

 

         强大的OpenLayers

 

         OpenLayers项目的历史

      2005   2.0开始

      超过 > 10,000 项目使用

 

        OpenLayers: WMS

 

        OpenLayers项目环境准备

 

        项目离线地图版改造代码实战

      /offlinemap/online.htm

      /offlinemap/index.htm

 

 

 

         1.4、讲师介绍

 

 

               Tom5: 某大型IT视频网站CTO,多年研发平台,众多大型网站及移动应用平台架构经验,并拥有多年的培训经验经历。

 

 

 

二、为什么需要这么套课程? 

 

 

 

         2.1 企业中的应用

 

 

                企业方的苦恼:大量的车辆及设备无法快速跟踪定位,无法确定其使用情况,导致偶尔丢车的情况。

                解决方案:

                               1.每个车辆及设备都装一个类似手机的设备,定期(每个1小时或更长)将位置相关信息上传到服务端。

 

                               2.在服务端提供地理信息展示系统展示

 

                               3.可根据不同的设备安装绑定的手机号进行查询跟踪

 

                 该课程使用低成本开发,解决企业中的困难。  

 

 

 

        2.2、课程学习目标(我们提供什么?)

 

 

                目标一. 了解OpenLayers的基本概念及关键API。

 

                目标二. 掌握内网离线地图优化项目实战技巧。

 

                目标三. 结合地理信息系统展示的特点使用OpenLayers实战解决实际问题。

 

                目标四. 无需精通其他复杂GIS基础组件,完全实现地理信息展示超多功能。

 

 

 

          2.3、课程特色

 

 

                 特点一、讲师讲求深入浅出,从理论、原理出现但是会回归到实际的应用。既照顾到希望提高理解与认识的学员,也照顾到关注实践应用的学员。

 

                 特点二、多层次介绍GIS体系,如:组件层、平台层以及语言派系。

 

                 特点三、学习的过程中理论和实践相结合,案例数据具备一定的代表性。并且课程提供所有的案例数据供学员自行修改和调试,以巩固加深学习效果

 

 

         2.4、课程亮点

 

 

                亮点一、无需地理专业知识,无需GIS专业基础,无需对测绘作业、空间坐标系转换、数据预处理等有一定研究,轻松构建专业的地理信息展示系统。

 

 

                亮点二、国内首创,在内网照样轻松使用的超轻量级的地理信息展示系统,无需为购买地理数据而头疼,无需连接互联网的公共地图服务,特别适用于中国国情的安全要求(内网不能上外网),政府及企业内的信息化系统中的地理信息展示。

 

 

                亮点三、国内首创,学习成本极低,不用精通什么flex、openscales、geoserver、geowebcache、postgres等等复杂的GIS基础组件,完全实现地理信息展示超多功能。

 

 

                亮点四、无需花费几十万甚至几百万购买GIS中间件,轻松在信息化项目中实现地理信息展示模块的低成本的完美解决方案。

 

 

                亮点五、国内几乎找不到的cellid转经纬度及相关关键代码,解决项目中的核心难关。

 

 

                亮点六、内网照样轻松使用的超轻量级的地理信息展示系统,特别适用于中国国情的政府及企业内的信息化系统中的地理信息展示。

更多内容,敬请关注:http://url7.me/rpvE1

有兴趣的同学请加QQ群:2群:217108493       4群:275733010

© 著作权归作者所有

共有 人打赏支持
beifeng_泠
粉丝 1
博文 7
码字总数 15857
作品 0
虹口
基于HTML5的网络拓扑图(2)-结合OpenLayers实现地图背景的拓扑图

地图应用分三种级别:示意地图(Map Chart),地图(Map),地理信息系统(GIS),第一种通常使用相对坐标系,后两种则为真实的地理坐标,其中第二种以谷歌地图为代表,日常生活中普遍使用,...

nosand
2014/04/21
0
3
公司内部培训OpenLayers的资料

OpenLayers技术比较火热 简介:本课程旨在快速搭建地理信息展示系统。主要目的在于让学员了解OpenLayers的基本概念及关键API、掌握内网离线地图优化项目实战技巧以及结合地理信息系统展示的特...

小java哈
2013/10/22
1K
0
HT for Web整合OpenLayers实现GIS地图应用

HT for Web作为逻辑拓扑图形组件自身没有GIS功能,但可以与各种GIS引擎即其客户端组件进行融合,各取所长实现逻辑拓扑和物理拓扑的无缝融合,本章将具体介绍HT for Web与开发免费的OpenLayer...

xhload3d
2014/12/02
0
3
百度地图与HT for Web结合的GIS网络拓扑应用

在《HT for Web整合OpenLayers实现GIS地图应用》篇中介绍了HT for Web与OpenLayers的整合,不少朋友反应国内用得比较多的还是百度地图,虽然HT整合百度地图原理与OpenLayers一致,但不同GIS...

xhload3d
2014/12/04
0
0
基于GeoServer切片地图服务的发布

接着上一篇文章,如何将JPG格式的图片转化为带地理坐标的TIFF格式里提及的最近的一个项目,数据源是一张高分辨率的2.5维图片,现在已经成功转化成了带有地理坐标的TIFF格式。下面将介绍借助G...

陶诗德
2015/01/05
0
0
关于openlayers如何添加地图上某区域内阴影效果

做了一个openlayers(采用2版本)的离线地图(google地图瓦片),现在是地图上有多个标记,标记之间用线相互连着,然后就会组成封闭的图形,需求是,在这些封闭的图形内加入阴影效果,这个有...

小强cntv
06/07
0
0
使用Leaflet创建地图拓扑图

之前我们采用过 Openlayers+Qunee的方案,实现地图拓扑图,鉴于Openlayers是一个古老项目,略显臃肿,对于现代的前端地图应用,显得笨重,在客户的介绍下,我们找到了leaflet - 基于HTML5的轻...

nosand
2014/07/27
0
1
Vector图层使用SelectFeature控件后,鼠标无法拖动地图的解决方法

在使用OpenLayers 做项目的时候,经常回将一些矢量要素放到地图上进行一些数据的展现,但是面要素上只要注册SelectFeature控件后,就会出现无法使用鼠标在面要素上拖动地图的问题。 现在可以...

记忆碎片
2014/03/07
0
0
OpenLayers IE 6 下 PNG 图片显示问题

众所周知, ie6下不支持png图片透明,一般的解决办法就是加滤镜效果。 最近在使用OpenLayers的透明图层的时候碰到了这个问题,看了官方的API, 实在没找到,后来在源码里找到了:alpha 属性,...

langhsu
2014/03/17
0
0
高效访问海量地图数据--用OpenLayers访问GeoServer发布的地图

上一篇文章中,我们介绍了用GeoServer手动发布本地Shapefile地图,那么如何在谷歌地图中展示GeoServer发布好的地图呢? 大伙先来看看本文实现最终结果: 地图放大后: 一、解决Geoserver跨域...

我叫刘半仙
04/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Xamarin Essentials教程地理定位Geolocation

Xamarin Essentials教程地理定位Geolocation 通过地理定位功能,应用程序可以获取用户的当前地理位置,如经纬度值。利用地理位置,可以在地图上定位,也可以转化物理位置,划分用户的归属地。...

大学霸
6分钟前
0
0
vue 编译警告 Compiled with 4 warnings

There are multiple modules with names that only differ in casing. This can lead to unexpected behavior when compiling on a filesystem with other case-semantic. Use equal casing.......

落雪飞声
10分钟前
0
0
开篇文章,长期记录安全情形

密码位置 密码位于注释中 密码位于服务器端文件中 通过访问根目录下.htaccess、robots.txt查看禁查路径 密码文件可能存在的路径:/、/extra/、/extras/ 密码加密 binary to base16 sha256 彩虹...

hirainn
23分钟前
0
0
mysql数据库设置root可以远程登录的方法

mysql数据库设置root可以远程登录的方法 Posted on 2018-02-21 21:08 sishuisufeng 阅读(161) 评论(0) 编辑 收藏 允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如...

rootliu
28分钟前
0
0
TensorFlow 图的基本操作

图的创建,一般只需要使用默认图就能满足大部分的需求了 # 1 创建图的方法# 在默认图中创建常量c = tf.constant(0.0)# 新建一个图g = tf.Graph()# 设置上下文管理器,标明操作...

阿豪boy
今天
0
0
git 忽略文件失效

git update-index --assume-unchanged */.project

林子大鸟
今天
1
0
实现验证码功能

1、实现验证码,并存储 import com.dtb.pc_enterprise.entity.EnterUserEntity;import com.dtb.pc_enterprise.service.AdminService;import com.dtb.pc_enterprise.util.RedisService;......

木九天
今天
0
0
iptables 实例

以下部分内容为网络查询并整理结果 filter表小案例 iptables规则五条链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING 四个表:filter nat mangle raw ###netfilter和iptables说明: 1、 ne...

李超小牛子
今天
0
0
Java面试基础篇——第六篇:常见Map类的区别

常见的map类有: HashMap, ConcurrentHashMap (Jdk1.8) , LinkedHashMap, TreeMap, Hashtable。 其中我们最常用的莫过于HashMap, 和并发情况下使用的ConcurrentHashMap了,它们的主要区别就在...

developlee的潇洒人生
今天
2
0
spring-boot:run启动时,指定spring.profiles.active

Maven启动指定Profile通过-P,如mvn spring-boot:run -Ptest,但这是Maven的Profile。 如果要指定spring-boot的spring.profiles.active,则必须使用mvn spring-boot:run -Drun.profiles=test......

夜黑人模糊灬
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部