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

xiaoxiaobei 2013-11-26 09:54 原文

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

 

   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://yunpan.cn/QUxAMwpQPetnW
想要更多的免费技术视频或是技术问题探讨,请加小汪qq2310519624
 

推荐阅读