一种地理文件数据存储及读写方法技术

技术编号:31679389 阅读:15 留言:0更新日期:2022-01-01 10:24
一种地理文件数据存储及读写方法,属于数据通信技术领域。本发明专利技术包括步骤S100.浏览器通过HTML5 File API校验上传的地理数据文件,调用http请求接口传输文件流至服务器;步骤S200.服务器接收浏览器上传的地理数据文件流,通过geotools api解析.dbf和.shp文件的属性,将地理数据文件转化成标准通用的JSON数据格式返回浏览器;步骤S300.浏览器接收到JSON数据后,渲染出可编辑表格,用户进行编辑后再次向服务器传输匹配好的JSON;步骤S400.服务器接收浏览器传输过来的参数,通过geotools和opengis api进行postgresql建表和数据导入,通过jdbc api对表的属性信息进行符合参数条件的修改操作。本发明专利技术不需要额外的软件支持,即可实现数据处理,减少了操作流程。减少了操作流程。减少了操作流程。

【技术实现步骤摘要】
一种地理文件数据存储及读写方法


[0001]本专利技术涉及一种地理数据文件存储方法,属于数据通信


技术介绍

[0002]Shapefile是一种空间数据开放格式,该文件格式是地理信息软件界的开放标准,可以被各类地理信息处理软件进行地理数据文件在数据库的读取和写入,如Argis、QGIS。Shapefile用于描述几何体对象:点、折线与多边形,这些形状与形状相关的数据属性构建了地理数据的表示。例如,Shapefile可以存储井、河流、湖泊等空间对象的几何位置。除了几何位置,Shapefile也可以存储这些空间对象的属性,例如河流的名字、城市的温度等等。Shapefile指的是一种文件存储的方法,实际上该种文件格式是由多个文件组成的。其中,要组成一个Shapefile,有三个文件是必不可少的,它们分别是".shp", ".shx"与 ".dbf"文件,表示同一份Shapefile数据的一组文件其文件名前缀应该相同。例如,存储一个关于湖的几何与属性数据,就必须有lake.shp,lake.shx与lake.dbf三个文件。而其中“真正”的Shapefile的后缀为shp,然而仅有这个文件数据是不完整的,必须要把其他两个附带上才能构成一组完整的地理数据。除了这三个必须的文件以外,还有其它可选的文件(".prj", ".sbn .sbx", ".fbn .fbx", ".ain .aih", ".ixs", ".mxs", ".atx", ".shp.xml", ".cpg"),使用它们可以增强空间数据的表达能力。<br/>[0003]近年来,随着智慧城市建设成为热点,各类智慧城市业务对地理数据文件入库或对地理数据文件自定义处理有技术与功能的需求。在以往的技术中,地理数据文件的入库有两种实现方式实现,一种是通过安装开源软件客户端实现,如QGIS;一种是基于关系型数据库postgresql的postgis的插件实现。然而,无论是前者还是后者,都只能依靠繁琐的依赖安装包实现。为了减少用户上传地理数据文件时安装数据库及其插件的步骤,降低用户使用开源软件的学习成本,亟需提出一种新的地理文件数据存储到关系型数据库的读写方法。

技术实现思路

[0004]本专利技术为了减少用户上传地理数据文件时安装数据库及其插件的步骤,降低用户使用开源软件的学习成本,通过web端实现shapefile地理数据文件信息快捷解析存储和管理。在下文中给出了关于本专利技术的简要概述,以便提供关于本专利技术的某些方面的基本理解。应当理解,这个概述并不是关于本专利技术的穷举性概述。它并不是意图确定本专利技术的关键或重要部分,也不是意图限定本专利技术的范围。
[0005]本专利技术提供了一种地理文件数据存储及读写方法,包括浏览器和服务器,浏览器和服务器建立双向通信,具体包括以下步骤:步骤S100.浏览器通过HTML5 File API校验上传的地理数据文件,调用http请求接口传输shapefile地理图层文件流至服务器;步骤S200.服务器接收浏览器上传的地理数据文件流,通过geotools api解析
.dbf和.shp文件的属性,将shapefile地理图层文件数据转化成标准通用的JSON数据格式返回浏览器;步骤S300.浏览器接收到JSON数据后,渲染出可编辑表格,用户进行编辑后再次向服务器传输匹配好的JSON;步骤S400.服务器接收浏览器传输过来的参数,通过geotools和opengis api进行postgresql建表和数据导入,同时通过JDBC api对表的属性信息进行符合参数条件的修改操作。
[0006]进一步地:步骤S100中,用户通过浏览器选择本地磁盘shapefile地理图层文件,前端Javascript代码根据浏览器及移动端支持的HTML5 File API,通过其change事件获取访问被选择的文件对象列表,获取文件名、文件大小,文件类型和文件流信息,并根据这些信息判断出用户选择的文件列表是否满足包含后缀为.shx、.shp 和.dbf的三个文件名前缀相同文件,若满足,向服务器上传文件流,否则提示相应的不符合原因,比如缺少.shx文件。
[0007]进一步地:步骤S100中,步骤S100中,用户通过浏览器选择本地磁盘shapefile地理图层文件,前端Javascript代码通过大部分浏览器及移动端都支持的HTML5 File API,通过其change事件获取访问被选择的文件夹,若文件夹里包含有后缀为.shx、.shp 和.dbf的三个文件名前缀相同文件,则向服务器上传文件流,否则提示相应的不符合原因,比如缺少.SHX文件。
[0008]进一步地:步骤S100中,服务器接收到浏览器的发送的文件流后,将地理数据文件保存到文件共享服务系统。具体是将地理数据文件通过MinIO的JAVA API putObject()函数将输入流保存到文件共享服务系统上。
[0009]进一步地:步骤S200中,使用geotools api对.dbf和.shp文件进行解析,具体方法是:首先创建DbaseFileReader 读取器读取shapefile,然后getheader获取.dbf文件头中的属性,其中包含属性字段名,字段类型和字段类型长度,并且通过使用ShapefileDataStore组件读取.shp文件获取地理表中的属性信息,使用SampleFeatureSource组件获取其中地理类型字段名。
[0010]服务器向浏览器返回解析后的JSON格式的地理字段信息,其包含字段英文名、字段中文名、类型、长度、允许为空、描述。
[0011]进一步地:步骤S300.浏览器接收到地理关系字段的JSON数据后,通过基于Html、JavaScript、Css封装的前端框架vue,再配合基于vue开发element UI组件库的form和table组件渲染成可辑表格。
[0012]通过HTML的表单事件发起动作,进而触发表单双向绑定改变JSON数据,可以自定义对字段加上中文名,和描述及主键等的确认,以及是否建表导入数据等,浏览器再将自定义好的参数发送到服务端;进一步地:步骤S400中,服务端接收到参数并通过geotools和opengis api对postgresql建表和数据导入,建表,第一步通过geotools DataStoreFinder组件获取postgresql数据库的连接JDBCDataStore,第二步通过ShapefileDataStore模块读取shapefile地理数据文件,生成地理数据文件的数据特征和字段信息来源组件SimpleFeatureSource,第三步通过SimpleFeatureSource信息来源组件获取数据库表的视
图名并且通过数据库连接JDBCDataStore组件在数据库里面创建表视图,第四步通过JDBC api根据服务器接收到的参数信息对已经建好的视图属性进行修改。数据导入:第一步通过数据库连接JDBCDataStore构建opengis的特征写入组件FeatureWriter,第二本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种地理文件数据存储及读写方法,包括浏览器和服务器,其特征在于,包括以下步骤:步骤S100.浏览器通过HTML5 File API校验上传的地理数据文件,调用http请求接口传输shapefile地理图层文件流至服务器;步骤S200.服务器接收浏览器上传的地理数据文件流,通过geotools api解析.dbf和.shp文件的属性,将shapefile地理图层文件数据转化成标准通用的JSON数据格式返回浏览器;步骤S300.浏览器接收到JSON数据后,渲染出可编辑表格,用户进行编辑后再次向服务器传输匹配好的JSON;步骤S400.服务器接收浏览器传输过来的参数,通过geotools和opengis api进行postgresql建表和数据导入,通过jdbc api对表的属性信息进行符合参数条件的修改操作。2.根据权利要求1所述的一种地理文件数据存储及读写方法,其特征在于:步骤S100中,用户通过浏览器选择本地磁盘shapefile地理图层文件,获取访问被选择的文件对象列表,获取文件名、文件大小,文件类型和文件流信息,并根据这些信息判断出用户选择的文件列表是否满足包含后缀为.shx、.shp 和.dbf的三个文件名前缀相同文件,若满足,向服务器上传文件流,否则提示相应的不符合原因。3.根据权利要求1所述的一种地理文件数据存储及读写方法,其特征在于:步骤S100中,步骤S100中,用户通过浏览器选择本地磁盘shapefile地理图层文件,获取访问被选择的文件夹,若文件夹里包含有后缀为.shx、.shp 和.dbf的三个文件名前缀相同文件,则向服务器上传文件流,否则提示相应的不符合原因。4.根据权利要求1所述的一种地理文件数据存储及读写方法,其特征在于:步骤S100中,服务器接收到浏览器的发送的文件流后,将地理数据文件保存到文件共享服务系统。5.根据权利要求1所述的一种地理文件数据存储及读写方法,其特征在于:步骤S200中,使用geotools api对文件共享服务系统中的.dbf和.shp文件进行解析,具体方法是:首先创建DbaseFileReader读取器读取shapefile,然后使用getheader组件获取.dbf文件头中的属性,其中包含属性字段名,字段类型和字段类型长度,并且通过使用ShapefileDataStore组件读取.shp文件获取地理表中的属性信息,使用SampleFeatureSo...

【专利技术属性】
技术研发人员:林涛朱华强任浩钟莉林青雅丘建栋庄立坚周子益刘星阚倩
申请(专利权)人:深圳市交通科学研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1