有关项目上潜在需要的移动端GIS系统源码整理,待后续更新
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
- 小小程序员一枚,专注移动开发。关注领域智能交通,移动通讯,物联网等。
参考文章
Fanfq, GPS Tools For Android, 2012.
有关项目上潜在需要的移动端GIS系统源码整理,待后续更新的更多相关文章
- ArrayDeque(JDK双端队列)源码深度剖析
ArrayDeque(JDK双端队列)源码深度剖析 前言 在本篇文章当中主要跟大家介绍JDK给我们提供的一种用数组实现的双端队列,在之前的文章LinkedList源码剖析当中我们已经介绍了一种双端队列 ...
- netty服务端启动--ServerBootstrap源码解析
netty服务端启动--ServerBootstrap源码解析 前面的第一篇文章中,我以spark中的netty客户端的创建为切入点,分析了netty的客户端引导类Bootstrap的参数设置以及启动 ...
- 基于tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)
基于tensorflow的‘端到端’的字符型验证码识别 1 Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的人工智能技术的发展 ...
- 基于python语言的tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)
基于python语言的tensorflow的‘端到端’的字符型验证码识别 1 Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的 ...
- 上传本地代码到github&&从github下载源码
最近在玩github,下面简单介绍下githup的使用 将本地代码同步到github. 使用Git GUI同步 1,先下载git,然后安装.右键如图所示. 2,在github里新建一个 reposi ...
- java crm 进销存 springmvc SSM 项目 系统 源码
系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM ...
- iOS项目开发实战——iOS网络编程获取网页Html源码
现在我们身处互联网的时代.不论什么一个软件或是App,都会或多或少与网络打交道,并不断发生数据交互.一个没有涉及网络编程的应用会显得比較low,这里我们将会開始使用Swift开发iOS应用,而且主要来 ...
- ZooKeeper单机服务端的启动源码阅读
程序的入口QuorumPeerMain public static void main(String[] args) { // QuorumPeerMain main = new QuorumPeer ...
- Netty服务端的启动源码分析
ServerBootstrap的构造: public class ServerBootstrap extends AbstractBootstrap<ServerBootstrap, Serve ...
随机推荐
- iOS开发多线程篇—GCD的基本使用
iOS开发多线程篇—GCD的基本使用 一.主队列介绍 主队列:是和主线程相关联的队列,主队列是GCD自带的一种特殊的串行队列,放在主队列中得任务,都会放到主线程中执行. 提示:如果把任务放到主队列中进 ...
- input输入框输入文字出现清空文字按钮
$("#J_UserName").keyup(function(){ if($("#J_UserName").val() == "" || ...
- 使用excel快速制表 拒绝粗心
办公室打印个表格 使用了word打印后 发现 id重复很多 只好网上找了点excel 2003资料 学习小 快速制作表格 新建一个excel文件. 在新建excel中,用鼠标选中需要的表格行数列数,然 ...
- php变量函数,回调函数
一,变量可以直接传递函数 <?php function demo($num , $n )//$n是个函数 { for($i=0;$i<$num;++$i) { if($n($i)) { e ...
- VC只运行一个程序实例
方法有很多,以下只是提供一种用的多的 一. 单文档程序 在程序App类的InitInstance中添加如下代码 BOOL CDDZApp::InitInstance() { /*只运行一个实例*/ / ...
- 公测后,微信小程序应用可能被拒原因.
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 34.0px "PingFang SC Semibold"; color: #23232 ...
- 从零开始学习Node.js例子五 服务器监听
httpsnifferInvoke.js var http = require('http'); var sniffer = require('./httpsniffer'); var server ...
- C#代码示例_函数
参数数组 C#允许为函数指定一个(只能指定一个)特定的参数,这个参数必须是函数定义中的最后一个参数,称为参数数组.参数数组可以使用个数不定的参数调用函数,可以使用params关键字定义它们. 参数数组 ...
- ubuntu QWT Qt
1,下载QWT 2,解压进入QWT的目录 3,qmake,生成makefile文件 4,编译,make 5,安装,make install ,需要root 安装好后会在 /usr/local 目录下有 ...
- android之 listview加载性能优化ViewHolder
在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候, ...