GPS Tools For Android

前言:

  • GPS数据在做GIS开发时的一份宝贵的数据,在不侵犯他人隐私的情况下通过互联网的模式收集GPS是成本最为低廉的一种模式。

背景:

  • 现在公司在做一个项目,接触到一些有关导航,地图等。而其中比较重要的是GPS数据,公司在GPS数据采购上平均每年都会花费数百万。
  • 如果说有些数据花钱能够买到的话那么到还好至少是一条获取数据的途径,然而一些试验局的项目数据只能通过自己去采集,你需要开着专业测绘车以及其他设备到每个指定的地点进行数据的采集工作。
  • 通常试验局的规模不大数据量也不会很大,数据的要求也不会太高在这种情况下我就自主研发了一款工具软件来解决我实际工作中所遇到的问题。

需求:

  • 实现每10秒或者每移动10米存储一份GPS数据,每天的数据量为1440条,那么每年的数据量为525600条。
  • 实现手动的定位GPS数据存储功能,手动数据要求可以编辑,可以添加数据的描述信息。
  • 以上是工作过程当中是遇到需求,其实还包含了一些隐性的需求没被提及但是在我的第一个版本中就包含了很多隐性的需求。如:采集数据的显示,导出等等。

目的:

  • 编写此demo的目的是实地测量当地城市公交站点的GPS数据。

解决方案:

  • 原本打算使用高德地图的geocoder功能获取GPS数据的考虑的他有AGPS定位的功能但是同时没法保证其的定位数据的原始性,担心其数据是做过处理的所以果断的抉择了原始的GPS定位数据,虽然原始功能不带AGPS定位功能。
  • 由于我们的测量工作都是户外基于这种场景完全可以使用原始的GPS定位功能。

  • 基于需求的两种模式,可以分别存储两张表一张用于存储动态的GPS数据,另外一张用于存储手动的定位数据。

  • 数据表结构唯一的区别在于后者多一个描述信息的字段,用于存储其的描述信息添加一个编辑的功能。

用户体验:

  • 尽量少的页面跳转,按最少的按键。原本打算加广告的,不过觉得没什么意思,觉得会用这个软件的人相当的小众。广告在没有用户量的前提下根本就毫无意义,所以从多方面考虑断然的放弃了广告。

发布日志:

  • 本应用为免费开源项目源码均在 sourceforge.net 上进行托管,在条件允许的情况下作者会不断的进行更新与发布。
  • gpstools v0.1 for test (版本说明,小版本号为奇数的均为免费开源无广告版本,为偶数的均为商业或者有广告并且不开放源码。)
  • GPS数据自动采集,手动采集两种数据采集方式,其中手动采集支持添加描述信息。自动采集数据时位置未发生偏移不采集重复数据。
  • GPS数据采集数据的展示功能,提供分页显示。
  • GPS数据的导出,支持XML,CSV两种格式。
  • 系统设置功能,可以有选择的删选导出格式,分页数,以及清空历史数据。
  • 用户手册功能,让用户熟知此软件的背景,方便其进一步的了解此软件。
  • 提供用户反馈的功能,方便作者收集反馈信息在下个版本中再予以跟新。(这个功能我不知道有多少用户愿意用,出发点还是希望有用户提供宝贵意见)

关于作者:

    • 热爱手指在键盘上跳舞的感觉,朋友们都叫我键盘动物。
    • 新浪微博:键盘动物
    • MSN/邮箱:fangqing.fan#hotmail.com
    • 小小程序员一枚,专注移动开发。关注领域智能交通,移动通讯,物联网等。

参考文章

FanfqGPS Tools For Android, 2012.

有关项目上潜在需要的移动端GIS系统源码整理,待后续更新的更多相关文章

  1. ArrayDeque(JDK双端队列)源码深度剖析

    ArrayDeque(JDK双端队列)源码深度剖析 前言 在本篇文章当中主要跟大家介绍JDK给我们提供的一种用数组实现的双端队列,在之前的文章LinkedList源码剖析当中我们已经介绍了一种双端队列 ...

  2. netty服务端启动--ServerBootstrap源码解析

    netty服务端启动--ServerBootstrap源码解析 前面的第一篇文章中,我以spark中的netty客户端的创建为切入点,分析了netty的客户端引导类Bootstrap的参数设置以及启动 ...

  3. 基于tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)

    基于tensorflow的‘端到端’的字符型验证码识别 1   Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的人工智能技术的发展 ...

  4. 基于python语言的tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)

    基于python语言的tensorflow的‘端到端’的字符型验证码识别 1   Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的 ...

  5. 上传本地代码到github&&从github下载源码

    最近在玩github,下面简单介绍下githup的使用 将本地代码同步到github. 使用Git GUI同步  1,先下载git,然后安装.右键如图所示. 2,在github里新建一个 reposi ...

  6. java crm 进销存 springmvc SSM 项目 系统 源码

    系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3  SSM ...

  7. iOS项目开发实战——iOS网络编程获取网页Html源码

    现在我们身处互联网的时代.不论什么一个软件或是App,都会或多或少与网络打交道,并不断发生数据交互.一个没有涉及网络编程的应用会显得比較low,这里我们将会開始使用Swift开发iOS应用,而且主要来 ...

  8. ZooKeeper单机服务端的启动源码阅读

    程序的入口QuorumPeerMain public static void main(String[] args) { // QuorumPeerMain main = new QuorumPeer ...

  9. Netty服务端的启动源码分析

    ServerBootstrap的构造: public class ServerBootstrap extends AbstractBootstrap<ServerBootstrap, Serve ...

随机推荐

  1. jedis,spring-redis-data 整合使用,版本问题异常以及解决。

    最近整合使用redis spring-redis 出现了一下问题 spring:3.2.4.RELEASE jedis: jedis  2.4.2 spring-data-redis: 1.5.2.R ...

  2. PDF 补丁丁 0.4.2.1013 测试版发布:修复替换PDF文档字体等问题

    新的测试版修复了若干问题,建议下载了旧测试版的用户更新.修复的问题列表: 替换PDF文档字体可能将字体宽度变成0. 书签编辑器在加载XML书签时不显示对应文档的预览. 自动生成书签功能复制文本筛选器后 ...

  3. Python基础教程-第一章-变量、函数、字符串

    1.1变量 变量基本上就是代表(或者引用)某个值的名字,举例来说,如果希望用x代表3,只需要执行下面的语句即可: >>>x = 3 这样的操作称为赋值(assignment),值3赋 ...

  4. HDU 3016 线段树区间更新+spfa

    Man Down Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  5. 教你看懂GERBER中的钻孔(.txt)文件

    PCB在制作的时候也会导出相应钻孔的坐标位置,但是发现网上很少有关于这方面的资料,而一些项目中,可能就会用到钻孔的坐标信息,今天就抛下砖. M48 ;Layer_Color=9474304  % 图层 ...

  6. java 异常

    异常简介 java中有Error和Exception Error:是程序无法处理的错误,表示运行应用程序中较严重问题.大多数错误与代码编写者执行操作无关,而表示运行时JVM出现的问题. Excepti ...

  7. Linux下Tomcat的安装配置

    一.下载安装对应的jdk,并配置Java环境. 官网下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-dow ...

  8. jquery替换URL参数值

    由于经常会用到替换URL参数值,而网上写的方法代码都太长了,所以在这里写了一个简单的方法,供大家使用. 说明: reLoad(参数名,参数值) function reLoad(p, v) { var ...

  9. Population-based metagenomics analysis reveals markers for gut microbiome composition and diversity

    读paper的时候觉得自己就是个24K纯学渣(=.=)一大堆问题等着我去解决...所以在这里写一个Q&A好了,先列问题,逐步填充答案- ××××××××××××××××××我是分割线么么哒×× ...

  10. C#—打开文件

    一.打开图片 ps:必须先在pictureBox中导入一张图片 private void button4_Click(object sender, EventArgs e)//选择.更换图片 { if ...