《基于OpenLayers实战地理信息系统(离线地图,通过基站转经纬度,Quartz深入,轨迹实战)》
课程讲师:tom5
课程分类:Java
涉及项目:OpenLayers离线地图
用到技术:地理轨迹动画、基站转经纬度
其他特性:googlemap、基站cellid、定时器Quartz
涵盖内容:代码、视频、PPT
课时数量:33
咨询QQ:1364314410
一、本课程是怎么样的一门课程(全面介绍)
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,多年研发平台,众多大型网站及移动应用平台架构经验,并拥有多年的培训经验经历。
咨询QQ:1608179208