摘要:
最近在测试客户给的csv数据时,发现了系统中处理的csv导入功能,存在内存处理不当的问题,问题背景是客户给的csv矢量点数据接近100万条,而我们工程师之前实现的时候,是将csv的数据全部查出到VO层,然后再分批插入,这种传统处理方式,在数据体量比较小的情况下,可以满足业务需求,但是当数据体量比较大 阅读全文
摘要:
背景 在很多场景下,我们经常会遇到将某个Excel或Csv文件中的数据,插入到Postgresql。对于这个需求,我们常规的处理办法就是将文件中的数据,按照文件表头名称转换成集合对象然后插入到数据库,当然这对于数据体量不大的文件而言,很显眼没有任何问题,但是如果数据体量一旦上来,将面临如下问题: 将 阅读全文
摘要:
众所周知Geotools作为开源的Java GIS三方库,已经成为GIS服务器端的主流开源库,其功能非常强大,涉及到GIS业务的方方面面,其中就包括GIS数据的读写,今天小编就借助Geotools来实现shape数据的写入。 Geotools对于shape数据写入,主要提供了SimpleFeatur 阅读全文
摘要:
gdal可以说是GIS数据处理比较好的工具之一,虽然也提供了Java API,但是官方文档确实太过简单,用起来确实太难受,每次都需要去参考对应的C++api,然后在对应使用。 因此小编决定从这篇文章开始,将自己以前以及今后用到的API,都记录下,以帮助更多从事java GIS服务开发者。 今天主要来 阅读全文
摘要:
最近业务上需要处理气象水文的NC数据,NC格式数据是气象水文存储的一种专业数据格式,也是GIS数据的一部分,今天我们就用Java来解析nc数据。 一、 环境准备 准备nc数据,搭建一个简单的maven环境即可。 二、解析nc Java的三方库geotools的gt-netcdf库封装了对nc数据的解 阅读全文
摘要:
最近在写一个大量小文件直接压缩到一个zip的需求,由于zip中的entry每一个都是独立的,不需要追加写入,也就是一个entry文件,写一个内容, 因此直接使用了多线程来处理,结果就翻车了,代码给出了如下的错误:write beyond end of stream! 下面直接还原当时的代码场景: 1 阅读全文
摘要:
最近在读取客户发过来的tiff文件是,底层竟然报错了,错误:bandOffsets.length is wrong! 没办法,因为错误消息出现在tiff的read中,因此就对 底层序中tiff读取的代码进行了研究。 之前有一篇文章,我简单的介绍了Geotools读取Tiff的代码,Java 通过ge 阅读全文
摘要:
最近公司产品全面使用docker部署,而我们的一个应用服务底层使用了C++的QT的相关库,该库启动时,需要依赖可视化界面,这种问题,其实网上有很多教程,其实基本思路就是如何在docker中运行GUI程序,可以参考 林帆:Docker运行GUI软件的方法,可以参考https://blog.51cto. 阅读全文
摘要:
接着上一节关于图像基本要素的介绍之后,今天主要来介绍二维图像的仿射变换处理。 一、放射变换 放射变换是空间直角坐标系的变换,从一个二维坐标变换到另一个二维坐标,仿射变换是一个线性变换,它保持了图像的“平行性”和“平直性”,即图像中原来的直线和平行线,变换后仍然保持原来的直线和平行线,仿射变换比较常用 阅读全文
摘要:
对于GIS业务来说,路径规划是非常基础的一个业务,一般公司如果处理,都会直接选择调用已经成熟的第三方的接口,比如高德、百度等。当然其实路径规划的算法非常多,像比较著名的Dijkstra、A*算法等。当然本篇文章不是介绍算法的,本文作者会根据pgrouting已经集成的Dijkstra算法来,结合po 阅读全文