GIS系列GeoTools+MybatisPlus+PostGIS实现Shp数据的读取及写入数据库在这篇博客中,我们

在当前的软件开发和数据处理领域,地理信息系统(GIS)的应用变得越来越广泛。而对于GIS数据的读取和处理,GeoTools是一个强大而灵活的Java库,提供了丰富的功能和工具。与此同时,MyBatisPlus作为一种优秀的ORM框架,简化了与数据库的交互过程,提高了开发效率。而PostGIS是一个基于PostgreSQL数据库的空间数据库扩展,提供了许多地理空间函数和数据类型,使得数据库能够有效地存储和处理地理空间数据。在这篇博客中,我们将结合GeoTools、MyBatisPlus和PostGIS,探讨如何实现Shp数据的读取和写入数据库的过程。通过结合这三者的强大功能,我们将能够高效地处理GIS数据,并将其存储到数据库中,为地理信息系统的开发提供了可靠而高效的解决方案。

PostGIS是一个开源的空间数据库扩展,为PostgreSQL数据库提供了地理空间功能。它扩展了PostgreSQL的数据类型,使得数据库能够存储地理空间数据,并提供了一系列的地理空间函数和索引,以支持地理信息系统(GIS)应用的开发和分析。PostGIS允许用户在数据库中存储地理要素(如点、线、面)以及地理空间对象的属性信息,同时还提供了强大的查询和分析功能,如空间关系查询、空间分析、几何运算等。主要特点包括:

通过结合PostGIS与GeoTools和MyBatisPlus,我们能够实现更加灵活、高效的GIS数据处理和管理,为地理信息系统的开发提供了强大的支持和工具。

1.PostGis建立空间表

建立空间表的前提是安装PostGis扩展:

createextensionpostgis;安装扩展成功后,会在数据库下面生成一张spatial_ref_sys表:

建表sql语句:

CREATETABLE"xfc_geo_data"("id"varchar(255)COLLATE"pg_catalog"."default"NOTNULL,"extent""public"."geometry","center""public"."geometry",CONSTRAINT"geo_data_pkey"PRIMARYKEY("id"));COMMENTONCOLUMN"public"."xfc_geo_data"."id"IS'id';COMMENTONCOLUMN"public"."xfc_geo_data"."extent"IS'数据空间范围';COMMENTONCOLUMN"public"."xfc_geo_data"."center"IS'数据中心点';2.基于MybatisPlus的代码生成器创建实体类代码

代码生成器编写:

@Data@EqualsAndHashCode(callSuper=false)@Accessors(chain=true)publicclassXfcGeoDataimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@TableId(value="id",type=IdType.ASSIGN_ID)privateStringid;privateStringextent;privateStringcenter;}4.3.Handler类编写及适配属性字段1.编写PgGeometry84TypeHandler类

这个类主要是用于适配PostGis的geometry的数据类型。

验证空间数据的正确性有很多方法,我用的是的一个JTS的工具:

由上图可知我们解析插入到PostGis数据库中的数据是没问题的,我这里只是提供一个宽泛的验证,详细的验证需要根据地理要素的id对比验证解析图形的正确性。

THE END
1.第6章?如何获取数据库中的数据上面的查询日销售商品情况是应用一个数据表进行查询的,如果希望销售商品情况表表达得更完善,这里可增加一个商品信息表spxx.dbf参与查询,从中获得商品名称.spxx.spmc字段,使查询结果更加直观,如图6-6所示。现介绍多表的“查询”操作。 1.打开“查询设计器” ...http://www.360doc.com/content/11/0208/20/1911688_91433889.shtml
2.多熵源真随机数生成器控制方法介质设备及终端42.图1是本发明实施例提供的多熵源真随机数生成器的控制方法流程图; 43.图2是本发明实施例提供的真随机数发生器的整体设计示意图; 44.图3是本发明实施例提供的双方验证通讯处理成功流程图; 45.图4是本发明实施例提供的sm3后处理过程示意图; 46.图5是本发明实施例提供的nist sp800-22测试部分结果截图; ...https://www.xjishu.com/zhuanli/55/202210273127.html
3.C/S系统快速开发框架代码生成器Winform代码生成器C#.NET代码...产品介绍 C/S系统快速开发框架的核心工具软件,Winform三层架构代码生成器是一款完全自主知识产权研发的生成软件项目源码的智能平台。代码生成器可以自动生成界面(FORM)、业务层(BLL)、数据层(DAL)、模型(Model)、报表(Report)以及VS工程项目(Project)的C#源代码。 代码生成器根据数据表的字段信息自动生成对应的组件,如...http://www.csframework.com/cs-code-generator.htm
4.《凤凰点》全方位上手图文指南战斗及人员数值介绍人员及基地建设这是大部分设施运行的前提,基地中维持大部分设施的运行都需要消耗能量,而能量生成器就是产出能量的设施,建设基地时能量生成器一般需要最先或者和其他设施同步建造。玩家可通过基地界面左下角的能量消耗来查看,当前能量的使用情况。另外,玩家可点击设施右下角的能源图标来关闭设施以减少能量消耗,这样可以将能量转给有需要...https://www.gamersky.com/handbook/201912/1247962_3.shtml
5.14随机数生成器14.3 密码学安全的伪随机数生成器 接下来几节将要介绍一些密码学安全的伪随机数生成器,记住这些算法只是可以使用,作为一个应用的开发者,你不需要在它们中做选择。如果真的需要生成随机数,你应该使用你自己操作系统支持的密码安雪的随机数生成器。在*NIX(Linux, BSDs 以及 OS X)上是/dev/urandom,在Windows上是Cryp...https://www.jianshu.com/p/a429506490bf
6.现代密码学03:分组密码伪随机数生成器 流密码 消息认证码(MAC)和杂凑函数 消息认证技术、数据完整性机制、实体认证协议以及单钥数字签字体制的核心组成部分 应用中对于分组码的要求 安全性 运行速度 存储量(程序的长度、数据分组长度、高速缓存大小) 实现平台(硬、软件、芯片) https://developer.aliyun.com/article/1266428
7.机动战士高达0083:卡片生成器高达WIKIBWIKI《机动战士高达0083:卡片生成器》(Mobile Suit Gundam 0083 Card Builder/機動戦士ガンダム0083カードビルダー,简称GCB0083)的前身是《机动战士高达0079:卡片生成器》(Mobile Suit Gundam 0079 Card Builder/機動戦士ガンダム0079カードビルダー,简称GCB0079),是一款由帕布雷斯特公司(Banpresto)开发的卡片收藏和策...https://wiki.biligame.com/gundam/%E6%9C%BA%E5%8A%A8%E6%88%98%E5%A3%AB%E9%AB%98%E8%BE%BE0083%EF%BC%9A%E5%8D%A1%E7%89%87%E7%94%9F%E6%88%90%E5%99%A8
1.SPFormerpython源码下载平台SPFormer(Spatio-PatternFormer)是一种用于计算机视觉领域的新型Transformer架构,它将空间(Spatio)信息与模式(Pattern)学习有机结合。该模型主要用于处理具有结构信息的图像任务,如图像分类、语义分割等。SPFormer通过设计专用的Spatio-Attention机制,有效地捕捉图像中的空间关系,同时借鉴了Transformer的自注意力机制,能在处理...https://python.code.coder100.com/index/index/content/id/54674
2.绝了!一次性掌握6种超厉害在线测试数据自动生成神器!在软件测试领域,测试数据的生成是一个至关重要的环节。手动生成数据不仅耗时耗力,而且难以保证数据的质量和多样性。因此,使用在线测试数据生成器成为了许多测试人员的首选。 本文将介绍6种超牛的在线测试数据生成器,帮助你更高效地生成测试数据。 1、Mockaroo ...https://cloud.tencent.com/developer/article/2469487
3.AI智能辅助,仲裁文书一键生成### AI智能辅助,仲裁文书一键生成:重塑法律行业的未来 在科技日新月异的今天,人工智能(AI)正以前所未有的速度渗透到各行各业,法律领域也不例外其中,“AI智能辅助,仲裁文书一键生成”这一创新应用,正逐步改变传统仲裁作业模式,提高效率,减少人为错误,为法律行业带来了一场深刻的变革本文将深入探讨这一技术的原理、...https://www.aixzzs.com/list/45543.html
4.达观智能文档处理平台(IDPS)—打造一站式智能文档分析审查系统算...其中,方法包括:获取文档解析组件发送的对象简谱格式文档,根据对象简谱格式文档的业务场景,获取与对象简谱格式文档匹配的预设机器学习模型和文档审核规则;通过预设机器学习模型提取对象简谱格式文档中的关键信息;通过规则引擎根据文档审核规则和关键信息,生成文档审核结果发送至网页组件。https://www.163.com/dy/article/JHESINK90552YZST.html
5.2024年快递单号神器:最受欢迎的快递单号生成工具软件介绍:易人快递单打印软件是用于快递单批量导入、批量打印、淘宝自动下载/自动合并定单、自动发货的专业软件。&nb 立即查看 5.敢死联盟-快递单号扫描器 3.1 敢死联盟是一款免费的快递单号生成器软件,支持锁定全国任何发货地。最新版本为3.1,操作更加简洁智能,可一键生成当日快递单号,确保可用且不被系统发现。该软件...https://app.zol.com.cn/jiqiao/157557.html
6.LINUX系统移植(史上最全最细,强烈推荐)51CTO博客1.4.2 ECC生成器工作过程...74 1.4.3 ECC的运用...74 2在ADS下flash烧写程序...https://blog.51cto.com/u_15812463/8041008
7.产品介绍SimcenterFLOEFD2020.1新功能封装模型生成器是快速进行电子封装元件创建的专用工具。基于预定义的模板,用户可以调整几何、材料和热学特征(功率、热阻等),生成自定义的封装模型。将自定义的封装模型导入FloEFD中即可使用。 由于生成的封装模型是详细模型,因此无法创建双热阻模型和网络装配模型。 https://www.basicae.com/NewsStd_667.html
8.SubstancePainter课时:生成器视频教程翼狐网致力于推动CG艺术发展,为用户提供海量的CG视频教程,本节内容主要介绍Substance Painter 2022 软件入门到高手之课时14:生成器.https://www.yiihuu.com/v_283866.html
9....Plus+代码生成工具.docSpringBoot 集成 Mybatis-Plus 代码生成工具 SpringBoot 是一个基于 Java 的框架,它提供了快速构建生产级别的应用程序的能力。Mybatis-Plus 是一个基于 Mybatis 框架的增强工具,它提供了代码生成、分页、查询等功能。本文档将介绍如何将 SpringBoot 与 Mybatis-Plus 集成,并使用代码生成工具生成实体类、DAO 层、Ser...https://download.csdn.net/download/zyg19900927/11890779
10.为SoC提供更高安全性的真随机数生成器DesignWare? 真随机数生成器芯核被归类为非确定性随机数生成器 (NRBG)。芯核包含熵源和白化电路,可产生均匀分布的随机比特序列。根据具体应用,可以直接使用 DesignWare TRNG 的输出或对 NIST SP 800-90A 批准的确定性随机数生成器 (DRBG) 提供种子。DesignWare TRNG 生成的随机数据旨在统计上等同于均匀分布的...https://www.synopsys.com/zh-cn/designware-ip/technical-bulletin/true-random-number-generator-security.html
11.GitHub更新记录 [2022.6.29] 使作文生成器在输入时需要等待的时间变短了很多。 Releases No releases published Packages No packages published Languages Python100.0%https://github.com/WindowsRegedit/zuowen
12.A站大佬SP风格化纹理生成器StylizedTextureGeneratorfor...您可以[充值][发帖][悬赏][任务]来赚取积分。元素币支付微金支付8 余额支付 只需要一个生成器即可完成...https://www.element3ds.com/forum.php?mod=viewthread&tid=323586&_dsign=3170985a
13.华为真实参数生成器,手机参数生成,硬改参数功能介绍 生成手机参数,用于手机维修,参数丢失,需要修改参数用 图片展示 回复下载华为真实参数生成器 游...https://bbs.16rd.com/thread-563838-1-1.html
14.网页menu菜单自动生成器ITKING网页menu菜单自动生成器 阅读更多 <!-- Feedsky FEED发布代码开始 --> 欢迎点击此处订阅本Blog <!-- FEED自动发现标记开始 --> <!-- FEED自动发现标记结束 --><!--Google 468*60横幅广告开始--><!-- google_ad_client = "pub-7343546549496470"; google_ad_width = 468; ...https://www.iteye.com/blog/2143549
15.藤蔓缠绕字体在线生成器藤蔓缠绕字体在线生成器(花藤字体大全),老铁们想知道有关这个问题的分析和解答吗,相信你通过以下的文章内容就会有更深入的了解,那么接下来就跟着我们的小编一起看看吧。 藤蔓缠绕字体在线生成器(花藤字体大全)是一款非常有趣的工具,它可以将文字转化成漂亮的藤蔓缠绕字体。通过这个在线生成器,我们可以给文字添加一些独特...http://www.spshc.com/article/3884.html
16....sP08字体转换器在线转换SpecialAlphabetsP08字体在线转换生成器,字体帝为您提供SpecialAlphabetsP08在线转换并生成多种字体效果图片https://www.zitidi.com/font_preview-91707.htm