上一篇研究了 Windows10 64位 Python读取.mif/.mid文件并转成txt
今天研究一下Java读取MIF。
俩种解决办法:
(1)Python程序读取.mif/.mid转成txt,Java程序读取txt文件进行处理;需要Python程序编译成二进制文件exe,Java调用exe结束后进行相关的操作;
最终程序只能部署到Windows的机器上;
(2)Java查看文件规律,按行读取;
(3)一步到位,Java+GDAL配置好,直接读取.mif文件。
1. Java集成GDAL读取.mif文件:
参考了几篇博客,先下载编译后的GDAL,每次都下载不下来。
看官网文档解决:下边俩个网址均可下载,
- http://download.osgeo.org/gdal
上边下载到的源码,需要编译后才能得到gdal.jar、gdalconstjni.dll、gdaljni.dll、ogrjni.dll、osrjni.dll;
编译可参考:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200720140442441.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTg1OTg1,size_16,color_FFFFFF,t_70)
由于 OSGeo4W 包含 gdal-java 因此可以直接安装 OSGeo4W,在其文件夹下找到gdal.jar、gdalconstjni.dll、gdaljni.dll、ogrjni.dll、osrjni.dll。
代码见github
<!-- https://mvnrepository.com/artifact/org.geotools/gt-mif -->
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-mif</artifactId>
<version>2.5.5</version>
</dependency>
<repositories>
<repository>
<id>osgeo</id>
<name>OSGeo Release Repository</name>
<url>https://repo.osgeo.org/repository/release/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
<!--不加如下updatePolicy会报错:resolution will not be reattempted until the update interval of XXX has elapsed or updates are force-->
<updatePolicy>always</updatePolicy>
</releases>
</repository>
</repositories>
jar包不是很好下载;配置了上边的repositories才可以成功下载;
参考: