Java+GeoTools(开源的Java GIS工具包)快速入门-实现读取shp文件并显示

这篇具有很好参考价值的文章主要介绍了Java+GeoTools(开源的Java GIS工具包)快速入门-实现读取shp文件并显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景

GeoTools

GeoTools 是一个开源的 Java GIS 工具包,可利用它来开发符合标准的地理信息系统。

GeoTools 提供了 OGC (Open Geospatial Consortium) 规范的一个实现来作为他们的开发。

官网地址:

GeoTools The Open Source Java GIS Toolkit — GeoTools

Java+GeoTools(开源的Java GIS工具包)快速入门-实现读取shp文件并显示

参考其quick start教程,实现集成到maven项目中并运行示例代码。

Quickstart — GeoTools 30-SNAPSHOT User Guide

点击Maven Quickstart

Maven Quickstart — GeoTools 30-SNAPSHOT User Guide

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主

实现

1、新建Maven项目并添加Geotools的依赖。

        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-shapefile</artifactId>
            <version>24-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-swing</artifactId>
            <version>24-SNAPSHOT</version>
        </dependency>

注意这里的版本是24,目前官网最新的示例是30,但是30是需要java11的环境,这里的本地环境是java8

所以选择适配Java8的geotools的版本,这里选择24版本。

另外需要注意的是geotools在中央仓库中没有坐标,所以需要添加repository

    <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></releases>
        </repository>
        <repository>
            <id>osgeo-snapshot</id>
            <name>OSGeo Snapshot Repository</name>
            <url>https://repo.osgeo.org/repository/snapshot/</url>
            <snapshots><enabled>true</enabled></snapshots>
            <releases><enabled>false</enabled></releases>
        </repository>
    </repositories>

添加位置

Java+GeoTools(开源的Java GIS工具包)快速入门-实现读取shp文件并显示

包括去寻找版本时可以去其仓库地址去查找

Nexus Repository Manager

Java+GeoTools(开源的Java GIS工具包)快速入门-实现读取shp文件并显示

2、添加依赖并导入成功之后,参考官方示例代码,新建类

https://docs.geotools.org/latest/userguide/_downloads/f3a52bd26dc6252b6c7f5e7f9d4a6469/Quickstart.java

新建类

import org.geotools.data.FileDataStore;
import org.geotools.data.FileDataStoreFinder;
import org.geotools.data.simple.SimpleFeatureSource;
import org.geotools.map.FeatureLayer;
import org.geotools.map.Layer;
import org.geotools.map.MapContent;
import org.geotools.styling.SLD;
import org.geotools.styling.Style;
import org.geotools.swing.JMapFrame;
import org.geotools.swing.data.JFileDataStoreChooser;

import java.io.File;
import java.io.IOException;

public class HelloGeotools {
    public static void main(String[] args) throws IOException {
        File file = JFileDataStoreChooser.showOpenFile("shp", null);
        if (file == null) {
            return;
        }

        FileDataStore store = FileDataStoreFinder.getDataStore(file);
        SimpleFeatureSource featureSource = store.getFeatureSource();

        // Create a map content and add our shapefile to it
        MapContent map = new MapContent();
        map.setTitle("Quickstart");

        Style style = SLD.createSimpleStyle(featureSource.getSchema());
        Layer layer = new FeatureLayer(featureSource, style);
        map.addLayer(layer);

        // Now display the map
        JMapFrame.showMap(map);
    }
}

运行main方法

Java+GeoTools(开源的Java GIS工具包)快速入门-实现读取shp文件并显示

选择要预览的shp文件后

Java+GeoTools(开源的Java GIS工具包)快速入门-实现读取shp文件并显示文章来源地址https://www.toymoban.com/news/detail-477417.html

到了这里,关于Java+GeoTools(开源的Java GIS工具包)快速入门-实现读取shp文件并显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源机器学习工具包——PyTorch高级API简介

    作者:禅与计算机程序设计艺术 随着深度学习的不断发展,近年来在图像、文本、音频等领域取得重大突破,无论是识别率还是模型大小都有了明显的提升。因此,基于深度学习技术的应用在各行各业都得到广泛的应用。但这些模型往往较为复杂,使用起来也比较繁琐。Te

    2024年02月04日
    浏览(55)
  • 上海AI实验室等开源,音频、音乐统一开发工具包Amphion

    上海AI实验室、香港中文大学数据科学院、深圳大数据研究院联合开源了一个名为Amphion的音频、音乐和语音生成工具包。 Amphion可帮助开发人员研究文本生成音频、音乐等与音频相关的领域,可以在一个框架内完成,以解决生成模型黑箱、代码库分散、缺少评估指标等难题。

    2024年01月21日
    浏览(55)
  • nlp入门(一) :nlp常用工具包实战

    源码请到:自然语言处理练习: 学习自然语言处理时候写的一些代码 (gitee.com) 这里是一些自然语言中常用的python字符串操作,python内置无需安装 1.1 strip函数:去掉首尾特定字符 示例:  1.2 rstrip函数和lstrip函数:去掉右边特定字符和去掉左边特定字符 示例:  1.3 replace函数:

    2024年02月15日
    浏览(42)
  • 微软开源了一个 助力开发LLM 加持的应用的 工具包 semantic-kernel

    在首席执行官萨蒂亚·纳德拉(Satya Nadella)的支持下,微软似乎正在迅速转变为一家以人工智能为中心的公司。最近微软的众多产品线都采用GPT-4加持,从Microsoft 365等商业产品到“新必应”搜索引擎,再到低代码/无代码Power Platform等面向开发的产品,包括软件开发组件Power

    2024年02月03日
    浏览(50)
  • 阿里达摩院开源大型端到端语音识别工具包FunASR | 弥合学术与工业应用之间的差距

    本文首发于微信公众号 CVHub,严禁私自转载或售卖到其他平台,违者必究。 Title: FunASR: A Fundamental End-to-End Speech Recognition Toolkit PDF: https://arxiv.org/pdf/2305.11013v1.pdf Code: https://github.com/alibaba-damo-academy/FunASR 本文介绍了一个开源语音识别工具包FunASR,旨在弥合学术研究和工业应用之

    2024年02月13日
    浏览(37)
  • 【Java】YAML读写常用工具包及使用示例

    YAML是一种常用的数据序列化格式,在Java应用程序中读写YAML数据是常见的任务。本文介绍了三个受欢迎的Java工具包:SnakeYAML、Jackson Dataformat YAML和YAMLBeans,它们都提供了读写YAML数据的功能。本文将逐一介绍这些工具包的特点、Maven依赖配置,并给出使用示例。最后,本文总结

    2024年02月04日
    浏览(54)
  • 以太坊怎么扫块?推荐你一个Java工具包

    Magician-web3,开发语言是 java ,底层依赖了 Web3J , 废话不多说,直接上示例 监听器 可以创建多个,根据你的需求 分别设置监听条件

    2024年02月16日
    浏览(53)
  • 有了这个工具包,用Java调用智能合约更加简便

    Magician-ContractsTools是一个用于调用智能合约的工具包,你可以非常容易地在Java程序中调用智能合约进行查询和写入操作。 有三个内置的标准合约模板,分别是ERC20、ERC721和ERC1155,如果你需要调用这三个合约中的标准函数,可以帮助你非常快速地完成工作。除了内置的合同模板

    2024年02月11日
    浏览(50)
  • Java扫描区块链的工具包|Java扫块|监听token转账

    Magician-Scanning是一个用Java开发的扫描区块链的工具包,当我们在程序中需要一些功能时,它可以派上用场,比如说。 当一个地址收到ETH时,程序中的一个方法会被自动触发,这个交易会被传入该方法。 当一个合约的某个功能被调用时(比如 ERC20 转账),它会自动触发程序中

    2024年01月17日
    浏览(50)
  • JAVA深化篇_26——Apache commons-io工具包的使用

    Apache基金会介绍 Apache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为支持开源软件项目而办的一个非盈利性组织。在它所支持的Apache项目与子项目中,所发行的软件产品都遵循Apache许可证(Apache License)。 官方网址为:www.apache.org 。 很多著名的Java开源项目

    2024年02月06日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包