Java gdal .mif/.mid文件读取

2023-11-09

上一篇研究了 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;

编译可参考:
在这里插入图片描述
​由于 OSGeo4W 包含 ​gdal-java 因此可以直接安装 ​OSGeo4W,在其文件夹下找到gdal.jar、gdalconstjni.dll、gdaljni.dll、ogrjni.dll、osrjni.dll。

2. JAVA集成geotools gt-mif 读取.MIF

代码见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才可以成功下载;

参考:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java gdal .mif/.mid文件读取 的相关文章

  • 使用 Jersey Client 忽略自签名 ssl 证书 [重复]

    这个问题在这里已经有答案了 我正在使用 Jersey 客户端库对 jboss 上运行的其余服务运行测试 我使用自签名证书在服务器上正确设置了 https 在本地主机上运行 但是 每当我使用 https url 运行测试时 都会收到以下错误
  • 如何安装 C++ 的 VOCE?

    我正在尝试安装 VOCE api 它是为 C 和 Java 构建的语音识别 API 这是我第二次使用外部 C 库 也是第一次使用 Java C api 语音链接 http voce sourceforge net http voce sou
  • Spring Rest POST Json RequestBody 不支持内容类型

    当我尝试使用 post 方法发布新对象时 RequestBody 无法识别 contentType Spring 已经配置完毕 POST 可以与其他对象一起使用 但不能与这个特定对象一起使用 org springframework web
  • Infinispan 复制缓存不复制对象以供读取

    我们正在尝试在 Openshift 内的 Wildfly 11 上运行的两个 infinispan 节点上安装复制缓存 当我们在一个节点上写入一个对象时 它不会显示在另一节点上进行读取 启动时 节点在集群中连接 并且可以看到彼此 如日志中所
  • 使用 Hibernate 或 Spring 打印 DBMS_OUTPUT.put_line

    我想知道 Hibernate 或 Spring 或任何第 3 方库是否提供将 DBMS OUTPUT put line 消息直接打印到 system out 或日志文件的能力 目的是在控制台中同时显示 PLSQL 日志消息和 java 日志
  • Android - 内容值覆盖现有行

    我正在尝试使用插入值ContentValues 我已将 5 个值插入到 5 列中 运行应用程序后 我只有最后一组值的行ContentValues 前四组未插入 ContentValues cv new ContentValues cv pu
  • 为什么Java HashMap的最大容量是1<<30而不是1<<31?

    Why is the maximum capacity of a Java HashMap 1 lt lt 30 and not 1 lt lt 31 even though the max value of an int is 231 1
  • JPA 为每个项目选择最新实例

    假设我有一个会议实体 每次会议都有一个与会者和一个会议日期 在我的会议表中 我可能为每个与会者举行多个会议 每个会议都有不同的日期 我需要一个 JPA 查询 该查询将为所有与会者仅选择最新的会议 例如 如果我的桌子看起来像这样 Meetin
  • 如何使用 Gradle 2.10 将 ANTLR 词法分析器语法导入到另一个语法中?

    我一直在和 Terence Parr 一起学习 ANTLR 4权威的 ANTLR 4 参考 到目前为止我一直在使用 Gradle 2 10 及其内置 ANTLR 插件进行跟踪 然而 我在获取一些我从第 4 章第 38 41 页改编的代码以使
  • splitByWholeSeparatorPreserveAllTokens 和 split 之间的区别

    有什么区别StringUtils splitByWholeSeparatorPreserveAllTokens and String split With splitByWholeSeparatorPreserveAllTokens 我们可
  • 如何加快 jar 签名者的速度?

    我使用 ant 来签署我的 jars 以进行网络启动部署 Ant signjar 在 Web 启动签名时非常慢 如何加快签名过程 我找到了一种可能的解决方案 早些时候 在构建脚本 ant signjar 中 按顺序调用所有 jar 我们使用
  • 使用 eclipse 配置mockito 时出现问题。给出错误:java.lang.verifyError

    当我将我的mockito库添加到类路径中 并使用一个简单的mockito示例进行测试时 我尝试使用模拟对象为函数add返回错误的值 我得到java lang verifyerror 以下是用于测试的代码 后面是 logcat Test pu
  • Ubuntu 的打包 - Web 应用程序

    Web 应用程序没有与 C 或类似文件不同的 make 文件 但是 它需要放置在特定的目录中 例如 var www 我是 Linux 打包新手 所以我的问题是 如何将我的应用程序打包到 deb 中 以便在安装时将其放入 etc myprog
  • 在Java中使用==而不是equals来比较不可变对象可以吗

    考虑调用静态工厂方法 valueOf 的两个 Integer 类型的引用 如下所示 Integer a Integer valueOf 10 Integer b Integer valueOf 10 考虑到Integer是不可变的 使用 而
  • jsf 中的类型未找到属性

    我正在尝试调用 jsf 中使用 primefaces 的属性 但我有错误 500 在托管bean PersonelBean 类型上找不到 我正在使用 hibernate jsf 和 spring PersonelBean java Mana
  • 这个finally子句包含close()调用的原因是什么

    我正在学习在线java课程 使用 Java 编程简介 http math hws edu javanotes index html 在 I O 章节中 引入了以下代码 顺便说一下 在本程序的末尾 您将发现我们第一个有用的 try 语句中的
  • 使用 Mockitos 传递参数化输入

    我正在使用 Mockito 进行单元测试 我想知道是否可以使用 Junit 测试中的方式发送参数化输入参数 e g InjectMocks MockClass mockClass new MockClass Test public void
  • JTable中动态加载大量数据

    这是我的问题 我目前有一个 JTable 其中包含 5 000 到超过 200 000 行 你知道我要说什么了 数据已经加载到内存中了 这不是问题 但是如何 我可以创建一个高效的 JTable 以便它只加载以下行 是可见的 并且任何事件仅作
  • 使用 Tomcat 和 gradle 进行休眠

    免责声明 我是 Java 新手 我正在尝试使用 Tomcat 和 Gradle 设置 Hibernate 构建运行正确 但看起来像persistence xml文件未被读取 我的项目结构如下 build gradle src main ja
  • 错误:运算符不存在:整数 = 字符变化,使用 Postgres 8.2

    我有一个用旧版本的 Eclipse Ganymede 如果我没记错的话 开发的 Java EE Web 应用程序 我最近迁移到 Kubuntu 12 04 LTS 并将应用程序迁移到 Eclipse Kepler 我从 Eclipse 网站

随机推荐

  • java热部署

    Class forName和ClassLoader loadClass 简书 Eclipse安装热部署热加载插件JRebel 免费版 idea也可用 that summer CSDN博客 Eclipse中使用JRebel实现项目热部署 Ma
  • 【自定义表单】自定义表单设计

    1 后端设计1 diy field pool 字段池 我们定义好的字段类型 diy form 表单表 记录用户自定义的表单 diy form field 表单字段表 记录某张表单中有哪些字段 diy form entity 表单实例表 记录
  • XP下VMware模拟Ubuntu不能使用共享文件夹问题解决vmhgfs

    目前XP下使用VMware workstation 6 0 2虚拟ubuntu后 即使安装了VMware Tools并设置了共享文件夹后 虽然可以看到 mnt hgfs 但仍旧不能访问共享目录的解决方案 问题 主要问题是在安装vmware
  • 向较长的字符串中的指定位置添加指定元素

    今天抓取数据的时候获取到多个url中的翻页数据 但是单个url又需要进行翻页的操作 因此就需要在url中指定的位置添加新的参数用于数据的翻页 如何在指定位置添加指定的参数呢 下面通过一个例子来说明 url https list tmall
  • Qt线程之间通过signal和slot传递数据

    Qt线程之间通过signal和slot传递数据 这种方法主要是为了设置自己定义的数据类型 在不同的线程之间进行通信 如果自己定义的数据类型未经处理之间传递会报如下错误 QObject connect Cannot queue argumen
  • OpenSea进阶之路:成立4年估值超百亿美元

    来源 Odaily星球日报 作者 Jeff Kauflin 2022 新年伊始 加密行业迎来的第一个好消息就是 Opensea 这个 NFT市场的王者在 1 月 5 日宣布完成了一笔高达 3 亿美元的 C 轮融资 估值更是飙升到 130 亿
  • python网页爬虫xpath应用

    一 认识xpath和xml数据 lxml是Python基于xpath做数据解析的工具 from lxml import etree 1 xpath数据解析 通过提供标签路径来获取标签 xpath指的就是标签的路径 1 xpath基本感念 树
  • gin 四.响应数据

    响应数据 一 响应数据 二 c Writer Header Set处理响应头 一 响应数据 在gin中请求接口响应时 实际可以响应会html text plain json和xml等 比如前面gin基础示例中 接口响应时可以使用 gin C
  • 关键字 package、import的使用

    一 package 关键字的使用 为了更好的实现项目中类型的管理 提供了包的概念 使用package声明类或接口所属的包 声明在源文件的首行 包 术语标识符 遵循标识符的命名规则 规范 xxxyyyzzz 见名知意 每 一次 就代表一层文件
  • 安卓页面去掉顶部标题

    我的个人博客 逐步前行STEP 将AndroidManifest xml文件中的
  • 【Visual Studio 2015】安全开发生命周期(SDL)检查

    有的时候写的代码明明没有什么问题就是编译不过 我就觉得奇怪了 我是编译通过的代码 怎么就有问题呢 在VS2015运行 还真是有问题 看错误提示 是VS将这个函数的使用当做错误对待了 在以前的VS版本中 检测并不严格 对于很多警告 我们程序员
  • 微信小程序 view内英文数字不换行

    view标签英文不换行 最近遇到一个bug 在一个text标签内 如果纯粹的中文字符那是可以换行的 如果text标签内出现了英文或者数字的组合 这个标签换行bug了 溢出了 OMG 我的天啊 赶紧去翻翻html5中遇到这样的问题怎么解决 果
  • cobaltstrike流量特征

    cobaltstrike流量特征 cobaltstrike是红队攻防中常用的工具 用以连接目标和cobaltstrike服务器 方便红队进一步对目标渗透 在双方通信过程中cobaltstrike流量具有很明显的特征 1 http 请求 ht
  • winre drv分区干嘛用的_用U盘PE做传统启动方式的系统!

    U盘做系统教程 1 需要一个空闲U盘一个容量最少8G的 然后需要下载一个系统的镜像 可以去网上查找 2 下载U盘PE系统 链接 http download itiankong net data 3 easyu EasyU 3 5 2019
  • weblogic日志路径

    weblogic日志路径 C bea user projects domains base domain servers AdminServer logs 访问日志请求 access log 管理日志 AdminServer log 域日志
  • dataframe在最后新增一行_padans给Dataframe插入新增列、行

    import pandas as pd df1 pd DataFrame Snow M 22 Tyrion M 32 Sansa F 18 Arya F 14 columns name gender age 新增一列相同的数据 df1 ad
  • 小程序AP配网和AK配网教程(开源)

    小程序AP配网和AK配网教程 开源 一 Airkiss配网的实现方式 Airkiss配网我们采用插件的形式 非常简单方便 感谢半颗心脏大佬的开源插件 1 Airkiss 简介 AirKiss是微信硬件平台为Wi Fi设备提供的微信配网 局域
  • 程序员的浪漫——用Python画一颗会发光的圣诞树

    圣诞节到了 给你最爱的人送上一棵python做的圣诞树吧 程序员的专属浪漫 我的朋友圈已经让圣诞树刷屏了 今天来给大家分享一波如何使用 Python 来画一颗圣诞节树 包含多种 版本 从平民版到豪华版 部分代码哦 import turtle
  • activiti MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row

    项目中集成activiti 在win7下面测试的很好 但是部署到linux环境下面就出现问题了 重要的部分 ERROR 2013 11 20 13 37 35 CommandContext close Error while closing
  • Java gdal .mif/.mid文件读取

    上一篇研究了 Windows10 64位 Python读取 mif mid文件并转成txt 今天研究一下Java读取MIF 俩种解决办法 1 Python程序读取 mif mid转成txt Java程序读取txt文件进行处理 需要Pytho