在android添加数据采集,一种基于Android系统的地理信息数据采集方法与流程

c26f3a4b3c1fedf7469155143c23bc9b.gif

本方法属于采集地理信息数据的发明,是一种基于android操作系统和gis地理信息系统进行户外地理信息数据采集的方法。

背景技术:

众所周知地理信息数据采集在很多行业中都有应用,比如说农业中的土地普查、城市管理中的地下管线普查、工业中的地质勘探等都需要去采集地理信息数据。

对于传统的采集模式,外业探测成果需要由草图记录采集点、采集线、采集面的基本地理坐标信息、其它属性信息和备注信息等,非常不便,而针对复杂的采集情况,外业还需要携带纸质资料图以辅助判断,外业效率很低;之后做内业时需要重新整理草图成果,一般外业测量8个小时的成果,内业基本需要4-6小时时间对成果数据进行整合处理,内外业重复工作太多,导致负责行业一线的测量人员工作量大,浪费时间。

技术实现要素:

为了解决传统采集模式效率低下的问题,本发明提出一种基于android系统的地理信息数据采集方法。

为了实现上述目的,本发明采用的具体方案为:一种基于android系统的地理信息数据采集方法,包括以下步骤:

s1.构建自定义地图;将准备好的地图切片导入到arcgisforandroid的地图框架中加载显示;

s2.配置采集信息数据库;使用sqlite轻量级数据库,自定义搭建采集信息的数据库,内嵌于android系统中;

s3.外业数据采集;使用android设备终端到现场测量采集信息,通过在屏幕上选点、连线以及插入点的操作,记录采集点信息,形成采集信息数据库;

s4.内业数据整理;对s3步骤的采集信息数据库进行输出。

有益效果:本发明可以很方便的进行地理信息数据采集,省去了不必要的步骤,节省了人工和时间;并且数据成果在采集时就生成了电子文件,方便携带、保存、分享等。

附图说明

图1为本发明的流程图。

图2为插入点的原理示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

所述的一种基于android系统的地理信息数据采集方法,包括以下步骤:

1.构建自定义地图;地图的底图可以是空白区域也可以从天地图官网下载各省市县行政区域地图,将准备好的地图切片导入到arcgisforandroid的地图框架中加载显示。

2.配置采集信息数据库;使用sqlite轻量级数据库,搭建自定义采集信息的数据库,内嵌于android系统中,预设采集点属性名称;当使用者在android设备上新增采集点时,采集点的地理位置坐标和id系统已默认生成,只需要输入其他属性信息;例如:在土地普查中,需要输入土地类别、作物类型、土地权属人、土地面积等信息,采集点的坐标和id已经默认生成。

3.外业数据采集;使用android设备终端到现场测量采集信息,采集点的坐标信息可以通过android设备的gps获取,也可以通过专业坐标仪器测量后手动录入。通过选点、连线等操作,记录采集点信息,在采集录入的过程中采集信息会自动复显上次输入的内容,只需稍作修改就可以将信息录入sqlite数据库中。

其中,在地图上二次开发手势操作功能,包括选点、连线、插入点的功能,原理如下:

选点时,点击新增点开关按钮,然后点击屏幕任意处可新建测量点,输入测量信息,同时获取该点在地图上的坐标信息、生成点编号,测量信息根据之前自定义的采集数据库进行录入,点编号生成逻辑为每次作业从0000开始计算,每增加一个点,序号加1。

连线时,点击连线开关按钮,然后,点击地图上已存在的两个点,生成一条线段将该两个点连接起来。,其中选择连线点的逻辑如下:

假设手指点击屏幕获取点a0(x0,y0),最大点击范围dmax,此时地图缩放比例为k,计算出在此缩放下的最大点击范围为在此范围内有若干点,分别计算点a0与范围内若干点之间的距离,选出与点a0距离最小的点a1,此时选中测量点a1,同理选出测量点a2,然后连接a1、a2点画出连接线l同时生成连接线l的基本属性包括长度、走向等,根据数据库填写连接线l的属性信息。

插入点时,点击插入点开关按钮,然后,点击地图上的线段,插入所要添加的点,其中插入逻辑如下:

设手指点击屏幕获取点a0(x0,y0),线段的两个端点为b1(x1,y1),c2(x2,y2)则如下图2所示:在线段b1c2上找出与点击点a0距离最近的点p,显然当a0p垂直于b1c2时p点为距离最近的点,则p点就是插入点,自动储存p点的坐标信息,将p点存入采集信息数据库中。

4.内业数据整理;采集作业完成之后,会根据作业名称生成每次作业的数据库db文件,将db文件导入到电脑上使用office的access工具进行打开查看修改异常数据,根据不同需求转换数据格式,也可以导入到cad软件中形成图纸成果,该步骤与以往传统的内业相比省去了将稿纸上的数据往电脑上一一录入的繁琐过程。

需要明确的是:本文所述的屏幕指的是:使用android系统的便携设备的屏幕,具有人机交互能力,如手机等。新增点开关按钮、连线开关按钮、插入点开关按钮是通过软件生成在上述便携设备的屏幕,便于人机交互。

需要明确的是:本文中所述的选点指:用户使用手指或其他设备(如电容笔)点触上述便携设备的屏幕上的地图中的一点,在点触的位置对应地图上的点的过程。

本文中的连线是指:用于用户使用手指或其他设备(如电容笔)点触上述便携设备的屏幕上的地图中的两点,在点触的位置对应地图上的两个点,并将上述连个点连接起来而形成的连线的过程。

本文中的插入点是指:用户发现输入的点有遗漏的场景下,用户使用手指或其他设备(如电容笔)点触上述便携设备的屏幕上的地图中的连线,并将该点插入上述连线的过程。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易变化或替换,都属于本发明的保护范围之内。因此本发明的保护范围所述以权利要求的保护范围为准。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 2124. 检查是否所有 A 都在 B 之前

文章目录1. 题目2. 解题1. 题目 给你一个 仅 由字符 a 和 b 组成的字符串 s 。 如果字符串中 每个 ‘a’ 都出现在 每个 ‘b’ 之前,返回 true ;否则,返回 false 。 示例 1: 输入:s "aaabbb" 输出&#x…

设计模式—桥接模式

前言 这里以电视遥控器为例子引出桥接模式,首先每个牌子的电视都有一个遥控器,可以设计吧遥控器作为一个抽象类,抽象类中提供遥控器的所有实现,其他具体电视品牌的遥控器都继承这个抽象类 这样的实现使得每个不同型号的电视都有自…

LeetCode 2125. 银行中的激光束数量

文章目录1. 题目2. 解题1. 题目 银行内部的防盗安全装置已经激活。 给你一个下标从 0 开始的二进制字符串数组 bank ,表示银行的平面图,这是一个大小为 m x n 的二维矩阵。 bank[i] 表示第 i 行的设备分布,由若干 ‘0’ 和若干 ‘1’ 组成。…

LeetCode 2126. 摧毁小行星(贪心)

文章目录1. 题目2. 解题1. 题目 给你一个整数 mass ,它表示一颗行星的初始质量。 再给你一个整数数组 asteroids ,其中 asteroids[i] 是第 i 颗小行星的质量。 你可以按 任意顺序 重新安排小行星的顺序,然后让行星跟它们发生碰撞。如果行星…

bzoj:2018 [Usaco2009 Nov]农场技艺大赛

Description Input 第1行:10个空格分开的整数: N, a, b, c, d, e, f, g, h, M Output 第1行:满足总重量最轻,且用度之和最大的N头奶牛的总体重模M后的余数。 Sample Input 2 0 1 5 55555555 0 1 0 55555555 55555555Sample Output 51HINT 样例…

LeetCode 2129. 将标题首字母大写

文章目录1. 题目2. 解题1. 题目 给你一个字符串 title ,它由单个空格连接一个或多个单词组成,每个单词都只包含英文字母。请你按以下规则将每个单词的首字母 大写 : 如果单词的长度为 1 或者 2 ,所有字母变成小写。否则&#xf…

LeetCode 2130. 链表最大孪生和(链表快慢指针+反转链表+双指针)

文章目录1. 题目2. 解题1. 题目 在一个大小为 n 且 n 为 偶数 的链表中&#xff0c;对于 0 < i < (n / 2) - 1 的 i &#xff0c;第 i 个节点&#xff08;下标从 0 开始&#xff09;的孪生节点为第 (n-1-i) 个节点 。 比方说&#xff0c;n 4 那么节点 0 是节点 3 的孪…

Splay初步【bzoj1503】

做了一道水题&#xff0c;把bzoj1503用Splay重新写了一下。 1 #include <bits/stdc.h>2 #define rep(i, a, b) for (int i a; i < b; i)3 #define REP(i, a, b) for (int i a; i < b; i)4 #define drep(i, a, b) for (int i a; i > b; i--)5 #define mp make…

原生html5时间组件,JFinal遇到了原生Html5时间组件格式转换问题怎么处理?

今天JBolt种子用户群里有人提问&#xff0c;JFinal针对原生Html5的日期时间选择组件的格式转换支持有问题&#xff0c;报错。于是我在JBolt的Demo中加入了这些去测试一下&#xff0c;这里使用的都是原生Html组件。Input type“text”默认就是一个简单的单行文本输入框。如果修改…

LeetCode 2131. 连接两字母单词得到的最长回文串

文章目录1. 题目2. 解题1. 题目 给你一个字符串数组 words 。words 中每个元素都是一个包含 两个 小写英文字母的单词。 请你从 words 中选择一些元素并按 任意顺序 连接它们&#xff0c;并得到一个 尽可能长的回文串 。每个元素 至多 只能使用一次。 请你返回你能得到的最长…

LeetCode 2132. 用邮票贴满网格图(DP/二维差分)

文章目录1. 题目2. 解题1. 题目 给你一个 m x n 的二进制矩阵 grid &#xff0c;每个格子要么为 0 &#xff08;空&#xff09;要么为 1 &#xff08;被占据&#xff09;。 给你邮票的尺寸为 stampHeight x stampWidth 。我们想将邮票贴进二进制矩阵中&#xff0c;且满足以下…

blue html中转换,BlueFox Free PDF to HTML Converter(PDF文件转换软件)

BlueFox Free PDF to HTML Converter是一款pdf文件转换软件&#xff0c;能直接查看PDF文件和对PDF文件进行编辑&#xff0c;支持批量进行转换&#xff0c;使用非常方便&#xff0c;操作简单&#xff0c;有需要可以下载。软件特色通过将PDF转换为HTML网页&#xff0c;您的网站访…

二、前端pink老师的CSS定位学习笔记(超详细,简单易懂)

定位(position) 1. CSS 布局的三种机制 网页布局的核心 —— 就是用 CSS 来摆放盒子位置。 CSS 提供了 3 种机制来设置盒子的摆放位置&#xff0c;分别是普通流、浮动和定位&#xff0c;其中&#xff1a; 普通流&#xff08;标准流&#xff09; 浮动 让盒子从普通流中浮起来 …

LeetCode 2133. 检查是否每一行每一列都包含全部整数

文章目录1. 题目2. 解题1. 题目 对一个大小为 n x n 的矩阵而言&#xff0c;如果其每一行和每一列都包含从 1 到 n 的 全部 整数&#xff08;含 1 和 n&#xff09;&#xff0c;则认为该矩阵是一个 有效 矩阵。 给你一个大小为 n x n 的整数矩阵 matrix &#xff0c;请你判断…

上传图片自动加水印html,html5上传多个文件并添加水印 实例源码

【实例简介】【实例截图】【核心代码】html5上传多个文件并添加水印body{font-size:12px;}a{text-decoration:none;}a,a:after{-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s;}a.btn i{display:block;width:100%;height:100%;position:relative;z…

LoadRunner培训初级教程

一 LoadRunner简介 1.1 Loadrunner介绍 LoadRunner 是 HP Mercury Interactive用来测试应用程序性能的工具 LoadRunner 通过模拟一个多用户并行工作的环境来对应用程序进行负载测试。通过使用最少的硬件资源&#xff0c;这些虚拟用户提供一致的、可重复并可度量的负载&#xf…

android model 设计,Android model层设计

model层在开发app的过程中&#xff0c;不管是使用了mvp还是mvc甚至mvvm模式,model层的设计基本都是一样的&#xff0c;model层可以被称为数据层&#xff0c;它的主要任务就是为上层提供各种的数据服务&#xff0c;上层完全不需要关心这些数据是来自网络&#xff0c;还是内存&am…

LeetCode 2134. 最少交换次数来组合所有的 1 II(数组*2 + 滑动窗口)

文章目录1. 题目2. 解题1. 题目 交换 定义为选中一个数组中的两个 互不相同 的位置并交换二者的值。 环形 数组是一个数组&#xff0c;可以认为 第一个 元素和 最后一个 元素 相邻 。 给你一个 二进制环形 数组 nums &#xff0c;返回在 任意位置 将数组中的所有 1 聚集在一…

四、pink老师的学习笔记——元素的显示与隐藏

1. 元素的显示与隐藏 目的 让一个元素在页面中消失或者显示出来 场景 类似网站广告&#xff0c;当我们点击关闭就不见了&#xff0c;但是我们重新刷新页面&#xff0c;会重新出现&#xff01; 1.1 display 显示&#xff08;重点&#xff09; display 设置或检索对象是否及如…

SpringMVC详解

来源&#xff1a;Sunnier&#xff08;http://www.admin10000.com/document/6436.html&#xff09; 一、SpringMVC基础入门&#xff0c;创建一个HelloWorld程序 1.首先&#xff0c;导入SpringMVC需要的jar包。 2.添加Web.xml配置文件中关于SpringMVC的配置 12345678910111213141…