国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

這篇具有很好參考價(jià)值的文章主要介紹了shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

?  早就聽聞大名鼎鼎的GeoTools,因?yàn)樽约翰桓鉐ava,所以之前沒用過,

背景

?  最近有個(gè)需求,一個(gè)白模系統(tǒng),具體是數(shù)據(jù)是用SDE導(dǎo)入到postgresql中,然后用arcgis server發(fā)布了矢量,最后用 arcgis api? for js 4.x拉伸,得到有高度的白模。以前的數(shù)據(jù)都是通過sde導(dǎo)入的,現(xiàn)在的需求是要通過前端,用戶自己去更新矢量數(shù)據(jù)。本系列只涉及讀取shp數(shù)據(jù)并插入到SDE連接的PostgreSQL已有表中。

  正常來說客戶的數(shù)據(jù)量不大,可以用前端來做的,前端也有庫解析shp文件,然后利用FeatureLayer.applyEdits() 實(shí)現(xiàn)跟數(shù)據(jù)庫的操作,但是我還是想嘗試下GeoTools,是個(gè)學(xué)習(xí)的機(jī)會(huì),另外就是覺得前端不適合處理數(shù)據(jù),

環(huán)境

  Windows 10

?  IntelliJ IDE Ultimate 2021.3

  PostgreSql 9.4

  PostGIS Bundle 2.2 for PostgreSQL ×64 9.4

  ArcGIS 10.4.1

  ArcGIS Server 10.4.1

  ArcGIS API for JavaScript 4.24

  geotools 27.x

?步驟

一.找到GeoTools官網(wǎng)

  會(huì)看到給出了官網(wǎng)列出幾種環(huán)境的搭建方式,我們選擇在IntelliJ IDE搭建環(huán)境:

?

? ? ? ? ? ? ? ?shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

  二.安裝jdk

  jdk版本有很多,目前已經(jīng)到Java20,但是感覺主流還是Java8,至少搭建GeoTools環(huán)境還是推薦用jdk1.8,尤其新手不要自找麻煩。下表展示了GeoTools與Java版本的對應(yīng)關(guān)系(表格來源《GeoTools 地理信息系統(tǒng)開發(fā)》表2-1):

?

  

? ? ? ? ? ?shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

? ?  另外注意設(shè)置環(huán)境變量

三.新建工程

  1.順序依次為:新建工程,選擇Maven,單擊"Create from archetype",選擇“org.apache.maven.archetypes:maven-archetype-quickstart

? ? ? ? ??shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

?  2.單擊Next,填寫信息:

? ? ? ? ?shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

??  3.保持默認(rèn),單擊Finish:

? ? ? ? ??shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

  ? 4.創(chuàng)建后的工程為(紅可以看到色框在轉(zhuǎn)圈像是下載包):

  

shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

?  5.完全結(jié)束后是這樣子:

shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

?  6.運(yùn)行下App文件,會(huì)打印處我們熟悉的“Hello World”:

shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

?四.將Jar包添加到工程

  首先官方文檔有個(gè)提示,啟用離線模式。原文是“如果您按照本教程進(jìn)行操作,則可能已經(jīng)提供了預(yù)加載的 Maven 存儲(chǔ)庫。我們可以使用離線模式來確保 Maven 不會(huì)嘗試下載任何依賴項(xiàng)”, 讓設(shè)置里面把"Work offline”打個(gè)勾。但是我們根據(jù)官方教程操作,發(fā)現(xiàn)沒有預(yù)加載庫,所以這個(gè)選項(xiàng)務(wù)必不要打勾,否則依賴會(huì)下載失??!我們需要在線下載依賴。

?

?

shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

?

?

  1.打開項(xiàng)目根目錄下的 pom.xml 文件。您可以看到我們之前通過向?qū)л斎氲囊恍┬畔?。主要涉及到GeoTools的版本、依賴,存儲(chǔ)庫。不過為了加快速度,直接復(fù)制一份過去得了:

  

shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境
  1 <?xml version="1.0" encoding="UTF-8"?>
  2 
  3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5   <modelVersion>4.0.0</modelVersion>
  6 
  7   <groupId>org.geotools</groupId>
  8   <artifactId>tutorial</artifactId>
  9   <version>1.0-SNAPSHOT</version>
 10 
 11   <name>tutorial</name>
 12   <!-- FIXME change it to the project's website -->
 13   <url>http://www.example.com</url>
 14 
 15   <properties>
 16     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 17     <maven.compiler.source>1.7</maven.compiler.source>
 18     <maven.compiler.target>1.7</maven.compiler.target>
 19     <geotools.version>28-SNAPSHOT</geotools.version>
 20     <maven.deploy.skip>true</maven.deploy.skip>
 21   </properties>
 22 
 23   <dependencies>
 24     <dependency>
 25       <groupId>junit</groupId>
 26       <artifactId>junit</artifactId>
 27       <version>4.11</version>
 28       <scope>test</scope>
 29     </dependency>
 30     <dependency>
 31       <groupId>org.geotools</groupId>
 32       <artifactId>gt-shapefile</artifactId>
 33       <version>${geotools.version}</version>
 34     </dependency>
 35     <dependency>
 36       <groupId>org.geotools</groupId>
 37       <artifactId>gt-swing</artifactId>
 38       <version>${geotools.version}</version>
 39     </dependency>
 40     <dependency>
 41       <groupId>org.geotools.jdbc</groupId>
 42       <artifactId>gt-jdbc-postgis</artifactId>
 43       <version>${geotools.version}</version>
 44     </dependency>
 45   </dependencies>
 46 
 47   <repositories>
 48     <repository>
 49       <id>osgeo</id>
 50       <name>OSGeo Release Repository</name>
 51       <url>https://repo.osgeo.org/repository/release/</url>
 52       <snapshots><enabled>false</enabled></snapshots>
 53       <releases><enabled>true</enabled></releases>
 54     </repository>
 55     <repository>
 56       <id>osgeo-snapshot</id>
 57       <name>OSGeo Snapshot Repository</name>
 58       <url>https://repo.osgeo.org/repository/snapshot/</url>
 59       <snapshots><enabled>true</enabled></snapshots>
 60       <releases><enabled>false</enabled></releases>
 61     </repository>
 62   </repositories>
 63 
 64 
 65   <build>
 66     <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
 67       <plugins>
 68         <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
 69         <plugin>
 70           <artifactId>maven-clean-plugin</artifactId>
 71           <version>3.1.0</version>
 72         </plugin>
 73         <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
 74         <plugin>
 75           <artifactId>maven-resources-plugin</artifactId>
 76           <version>3.0.2</version>
 77         </plugin>
 78         <plugin>
 79           <artifactId>maven-compiler-plugin</artifactId>
 80           <version>3.8.0</version>
 81         </plugin>
 82         <plugin>
 83           <artifactId>maven-surefire-plugin</artifactId>
 84           <version>2.22.1</version>
 85         </plugin>
 86         <plugin>
 87           <artifactId>maven-jar-plugin</artifactId>
 88           <version>3.0.2</version>
 89         </plugin>
 90         <plugin>
 91           <artifactId>maven-install-plugin</artifactId>
 92           <version>2.5.2</version>
 93         </plugin>
 94         <plugin>
 95           <artifactId>maven-deploy-plugin</artifactId>
 96           <version>2.8.2</version>
 97         </plugin>
 98         <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
 99         <plugin>
100           <artifactId>maven-site-plugin</artifactId>
101           <version>3.7.1</version>
102         </plugin>
103         <plugin>
104           <artifactId>maven-project-info-reports-plugin</artifactId>
105           <version>3.0.0</version>
106         </plugin>
107       </plugins>
108     </pluginManagement>
109   </build>
110 </project>
pom.xml

  復(fù)制完畢后發(fā)現(xiàn)會(huì)有報(bào)錯(cuò)現(xiàn)象:

shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

?  2.右鍵項(xiàng)目,選擇Maven,選擇"Reload project":

shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

?  3.我們發(fā)現(xiàn)可以了:

shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

?  4.可以到C盤相關(guān)文件夾里面看到相關(guān)的文件都下載完成(其它兩個(gè)27和30版本是之前踩坑留下的,為了寫博客重新用了28版本):

shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

?  搭建環(huán)境部分到此結(jié)束,到官網(wǎng)后面有個(gè)“Quickstart Application”根據(jù)1~6步進(jìn)行操作,會(huì)顯示出地圖的。

shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

?

后續(xù)?

2023.10.11更新

  最近要操作GeoJson, 所以pom.xml需要引入依賴,

<dependency>
      <groupId>org.geotools</groupId>
      <artifactId>gt-geojson</artifactId>
      <version>${geotools.version}</version>
</dependency>

  代碼中需要添加

import org.geotools.geojson.geom.GeometryJSON;

?  

?

  如果要查看歷史版本的geotools文檔,需要到官方文檔右側(cè)的blog頁面右側(cè)找到相應(yīng)版本,然后在左側(cè)找到userguide下載,解壓后打開index.html即可,另外github倉庫也有更新日志。

  關(guān)于版本選擇,為何我用了27.x,因?yàn)槟壳癑ava主流還是Java8,或者說公司項(xiàng)目用的Java8:

shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境

?

參考資料

有些資料可能沒參考,只是覺得不錯(cuò),所以收藏一下

1.《GeoTools 地理信息系統(tǒng)開發(fā)》?王項(xiàng) 劉鈞文 王新寧 孫運(yùn)娟

2.? Getting started with geotools.org using IntelliJ IDEA 2020(油管視頻)

3.Geotools簡介以及quickstsrt加載shp文件并顯示

4.geoTools18.4開發(fā)環(huán)境快速搭建,使用java可視化讀取shapefile文件_idea配置geotools_GIS開發(fā)者的博客-CSDN博客(不使用Maven)

5.GeoTools, the Java GIS toolkit Files?(geotools包離線下載)

6.?Introduction to GeoTools (概要,及一些常用的用法)

7.IDEA運(yùn)行時(shí)報(bào)錯(cuò)“類文件具有錯(cuò)誤的版本 55.0, 應(yīng)為 52.0”的解決方法

8.GeoTools應(yīng)用:提取Shape文件屬性列頭信息(1)(本地導(dǎo)入依賴)文章來源地址http://www.zghlxwxcb.cn/news/detail-435857.html

到了這里,關(guān)于shp數(shù)據(jù)插入sde連接的PostgreSQL庫(一)----基于 IntelliJ IDE的GeoTools快速搭建環(huán)境的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于shp數(shù)據(jù)制作3DTiles建筑白膜

    基于shp數(shù)據(jù)制作3DTiles建筑白膜

    ? ? ? ? ?經(jīng)緯管網(wǎng)建模系統(tǒng)MagicPipe3D,本地離線參數(shù)化構(gòu)建地下管網(wǎng)、建筑三維模型,輸出標(biāo)準(zhǔn)3DTiles服務(wù)、Obj模型等格式,支持Cesium、Unreal、Unity、Osg等引擎加載進(jìn)行三維可視化、語義查詢、專題分析。歡迎下載試用:http://www.magic3d.net? ? ? ? ? ?MagicPipe3D新增基于shp數(shù)據(jù)制

    2024年02月20日
    瀏覽(21)
  • C++ 連接、操作postgreSQL(基于libpq庫)

    ??使用libpq庫來鏈接postgresql數(shù)據(jù)庫,主要用到的頭文件是這個(gè):

    2024年02月07日
    瀏覽(12)
  • IntelliJ IDE 使用 Codeium 注意項(xiàng)(坑)

    在插件商店下載 Codeium 登錄 - 需要科學(xué) 重啟后有登錄彈窗就直接登錄 否則,ctrl + shift + a,在活動(dòng)里搜 Codeium,找到通過 token 登錄選項(xiàng),之后按提示操作即可完成登錄 在使用時(shí)候需要下載 language_server,正常全局科學(xué)上網(wǎng)能順利下載,但是一般較慢??梢哉业讲寮?yīng)的目錄

    2024年02月10日
    瀏覽(17)
  • 基于.net 4.5 使用VS連接PostgreSQL

    基于.net 4.5 使用VS連接PostgreSQL

    1、VS 2019(或者支持.net 4.5的任意版本) 2、Npgsql組件包部分依賴項(xiàng) 附下載地址:.net4.5鏈接PostgreSQL-PostgreSQL文檔類資源-CSDN下載 1、新建窗體框架選擇.net 4.5 2、安裝Npgsql組件包 在 解決方案管理器? 中右擊項(xiàng)目,選擇 在文件資源管理器中打開文件夾 ,依次打開bin/debug,將安裝

    2024年02月14日
    瀏覽(19)
  • Eclipse、IntelliJ IDEA、PyCharm三種IDE的區(qū)別

    Eclipse、IntelliJ IDEA和PyCharm是三種流行的集成開發(fā)環(huán)境(IDE),每個(gè)都有其特性和優(yōu)點(diǎn)。 1.Eclipse:Eclipse是一款開源的Java IDE,由Eclipse基金會(huì)開發(fā)。它具有許多功能,包括代碼自動(dòng)完成、調(diào)試、源代碼控制等。另外,Eclipse有許多插件可以安裝,以擴(kuò)展其功能。它的優(yōu)點(diǎn)包括免費(fèi)

    2024年01月22日
    瀏覽(32)
  • IntelliJ IDE 插件開發(fā) | (五)VFS 與編輯器

    IntelliJ IDE 插件開發(fā) | (五)VFS 與編輯器

    IntelliJ IDE 插件開發(fā) |(一)快速入門 IntelliJ IDE 插件開發(fā) |(二)UI 界面與數(shù)據(jù)持久化 IntelliJ IDE 插件開發(fā) |(三)消息通知與事件監(jiān)聽 IntelliJ IDE 插件開發(fā) |(四)來查收你的 IDEA 使用報(bào)告吧 IntelliJ IDE 插件開發(fā) |(五)VFS 與編輯器 在前幾篇文章中主要介紹了關(guān)于 IntelliJ IDE 插

    2024年01月25日
    瀏覽(58)
  • IntelliJ IDEA插件——可用的IDE Eval Reset

    IntelliJ IDEA插件——可用的IDE Eval Reset

    IDEA版本說明: 如果你是最新版本或者比 2021.2.2 版本高的話,就可能存在失效或者不可用的情況,可以嘗試降低版本使用。 在 idea- settings- plugins 里搜索 IDE Eval Reset (注意:是在Marketplace欄目下搜索,Installedl欄目下是你已經(jīng)安裝好的插件),然后點(diǎn)擊 Install 進(jìn)行安裝,安裝完

    2024年02月07日
    瀏覽(12)
  • 【Java】IDE集成開發(fā)環(huán)境工具IntelliJ安裝和使用

    【Java】IDE集成開發(fā)環(huán)境工具IntelliJ安裝和使用

    歡迎來到《小5講堂》 大家好,我是全棧小5。 這是《Java》序列文章,每篇文章將以博主理解的角度展開講解, 特別是針對知識(shí)點(diǎn)的概念進(jìn)行敘說,大部分文章將會(huì)對這些概念進(jìn)行實(shí)際例子驗(yàn)證,以此達(dá)到加深對知識(shí)點(diǎn)的理解和掌握。 溫馨提示:博主能力有限,理解水平有限

    2024年01月18日
    瀏覽(30)
  • IntelliJ IDEA插件IDE Eval Reset怎么有效試用

    IntelliJ IDEA插件IDE Eval Reset怎么有效試用

    IDEA版本說明: 如果你是最新版本或者比 2021.2.2 版本高的話,就可能存在失效或者不可用的情況,可以嘗試降低版本使用。 在 idea- settings- plugins 里搜索 IDE Eval Reset (注意:是在Marketplace欄目下搜索,Installedl欄目下是你已經(jīng)安裝好的插件),然后點(diǎn)擊 Install 進(jìn)行安裝,安裝完

    2024年01月16日
    瀏覽(23)
  • 在IntelliJ IDEA IDE中添加jar包的步驟

    在IntelliJ IDEA IDE中添加jar包的步驟如下: 打開IntelliJ IDEA,打開需要添加jar包的項(xiàng)目。 在IntelliJ IDEA右側(cè)的項(xiàng)目導(dǎo)航器中,找到項(xiàng)目。 右鍵單擊項(xiàng)目,選擇\\\"Open Module Settings\\\"(也可以使用快捷鍵F4)。 在彈出的\\\"Project Structure\\\"窗口中,選擇\\\"Modules\\\"。 在\\\"Modules\\\"選項(xiàng)卡中,選擇模塊。

    2024年02月06日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包