搜尋
首頁Javajava教程IntelliJ Idea 中的 Geo Viewer 很酷

你好老朋友

感謝 波茲南 Java 使用者群組 在一次聚會期間隨機選擇我來獲得 JetBrains IntelliJ Idea Ultimate 許可證,我開始每天使用它。對我來說這並不是全新的軟體。我使用 Android Studio 已經將近十年了,偶爾會在 IntelliJ 社群版中參與一些副專案。最近在工作中,我一直在使用 VS CodeNeoVim。與後者完全不同的 IDE 理念。

我目前恰好在後端工作,IntelliJ 絕對是一個野獸,它的內建工具可以滿足您能想像到的一切。

除了 TypeScript、SQL 和建置配置的常用語言支援之外,還有不錯的資料庫工具。資料顯示類似Excel電子表格,可以過濾,可以產生DDL程式碼,畫圖表等。沒什麼特別的;其他工具可以實現這一點。

但這只是在 IDE 內部,因此無需更改上下文即可輕鬆存取。

地理檢視器

我偶然注意到了 Geo Viewer 工具。

Geo Viewer in IntelliJ Idea is cool

我正在處理一些地理數據,例如區域和點。 Geo Viewer 開箱即用。不需要插件或配置。至少對於具有 Postgis 設定的 Postgres 來說是這樣。

這看起來可能是不必要的視覺效果,但實際上對於調試很有用。想像一下有一個查詢從一個表格傳回另一個表中定義的區域內的點。能在實際地圖上看到結果真是太棒了。

讓我們把它付諸實踐

我使用 ChatGPT 產生波蘭各省的資料。這並不完全是壞事...它們都在正確的位置,只是太小了。

城市位置的資料沒問題。

Geo Viewer in IntelliJ Idea is cool

為了在單一地理視圖上視覺化城市和區域,我使用了一個簡單的 SQL 視圖。從大學開始就沒有接觸過SQL,所以這也是一個有趣的經驗:D

-- Enable PostGIS extension if not already enabled  
CREATE EXTENSION IF NOT EXISTS postgis;  

-- Create vovoidships table  
CREATE TABLE vovoidships (  
    id SERIAL PRIMARY KEY,  
    name VARCHAR(255) NOT NULL,  
    bounds GEOMETRY NOT NULL  
);  

-- Create cities table  
CREATE TABLE cities (  
    id SERIAL PRIMARY KEY,  
    name VARCHAR(255) NOT NULL,  
    coordinates GEOMETRY NOT NULL  
);  

-- Insert Polish voivodeship capitals into cities table  
INSERT INTO cities (name, coordinates) VALUES  
    ('Warsaw', ST_SetSRID(ST_MakePoint(21.0122, 52.2297), 4326)),  -- Mazowieckie  
    ('Kraków', ST_SetSRID(ST_MakePoint(19.9449, 50.0647), 4326)),  -- Małopolskie  
    ('Łódź', ST_SetSRID(ST_MakePoint(19.456, 51.7592), 4326)),     -- Łódzkie  
    ('Wrocław', ST_SetSRID(ST_MakePoint(17.0385, 51.1079), 4326)), -- Dolnośląskie  
    ('Poznań', ST_SetSRID(ST_MakePoint(16.9286, 52.4064), 4326)),  -- Wielkopolskie  
    ('Gdańsk', ST_SetSRID(ST_MakePoint(18.646, 54.352), 4326)),    -- Pomorskie  
    ('Szczecin', ST_SetSRID(ST_MakePoint(14.5528, 53.4289), 4326)),-- Zachodniopomorskie  
    ('Bydgoszcz', ST_SetSRID(ST_MakePoint(18.0076, 53.1235), 4326)), -- Kujawsko-Pomorskie  
    ('Lublin', ST_SetSRID(ST_MakePoint(22.5686, 51.2465), 4326)),   -- Lubusz  
    ('Białystok', ST_SetSRID(ST_MakePoint(23.1641, 53.1325), 4326)), -- Podlaskie  
    ('Katowice', ST_SetSRID(ST_MakePoint(19.039, 50.2583), 4326)), -- Śląskie  
    ('Opole', ST_SetSRID(ST_MakePoint(17.9213, 50.6644), 4326)),    -- Opolskie  
    ('Rzeszów', ST_SetSRID(ST_MakePoint(21.9981, 50.0415), 4326)),  -- Podkarpackie  
    ('Gorzów Wlkp.', ST_SetSRID(ST_MakePoint(15.2299, 52.7387), 4326)), -- Lubusz  
    ('Zielona Góra', ST_SetSRID(ST_MakePoint(15.5061, 51.9353), 4326)); -- Lubusz  

-- Insert Polish voivodeships into vovoidships table with corrected boundaries  
INSERT INTO vovoidships (name, bounds) VALUES  
    ('Mazowieckie', ST_SetSRID(ST_GeomFromText('POLYGON((20.5937 52.4304, 20.7031 52.2398, 21.0994 52.1985, 21.4855 52.2738, 21.7426 52.5456, 21.4822 52.6935, 20.8778 52.6281, 20.5937 52.4304))'), 4326)),  
    ('Małopolskie', ST_SetSRID(ST_GeomFromText('POLYGON((19.0013 49.6121, 19.3004 49.2235, 19.8534 49.1386, 20.1253 49.2158, 20.3469 49.7248, 20.1154 49.9501, 19.0013 49.6121))'), 4326)),  
    ('Łódzkie', ST_SetSRID(ST_GeomFromText('POLYGON((18.9224 51.6847, 19.5032 51.5472, 19.7415 51.7594, 19.6886 52.0549, 19.1579 52.0201, 18.9224 51.6847))'), 4326)),  
    ('Dolnośląskie', ST_SetSRID(ST_GeomFromText('POLYGON((16.2795 50.1585, 16.6575 49.9253, 17.1573 49.8861, 17.3046 50.3278, 17.1566 50.4869, 16.6676 50.5302, 16.2795 50.1585))'), 4326)),  
    ('Wielkopolskie', ST_SetSRID(ST_GeomFromText('POLYGON((16.4570 52.0254, 16.9745 51.8472, 17.4446 51.8598, 17.8387 52.0295, 17.5519 52.3232, 16.4570 52.0254))'), 4326)),  
    ('Pomorskie', ST_SetSRID(ST_GeomFromText('POLYGON((17.9927 54.0531, 18.7247 54.0065, 18.7840 53.8160, 18.5911 53.7163, 17.9927 54.0531))'), 4326)),  
    ('Zachodniopomorskie', ST_SetSRID(ST_GeomFromText('POLYGON((14.2102 53.4019, 14.8960 53.3481, 15.0853 53.3305, 15.0006 53.0747, 14.2102 53.4019))'), 4326)),  
    ('Kujawsko-Pomorskie', ST_SetSRID(ST_GeomFromText('POLYGON((17.8260 53.0401, 18.2550 52.9635, 19.1827 52.9581, 19.1902 53.1355, 18.0730 53.1274, 17.8260 53.0401))'), 4326)),  
    ('Lubuskie', ST_SetSRID(ST_GeomFromText('POLYGON((14.3215 52.2755, 14.7083 52.2985, 15.0293 52.4335, 15.0641 52.5437, 14.3215 52.2755))'), 4326)),  
    ('Podlaskie', ST_SetSRID(ST_GeomFromText('POLYGON((22.7210 53.6851, 22.9785 53.4699, 23.4987 53.4057, 23.7810 53.6431, 22.7210 53.6851))'), 4326)),  
    ('Śląskie', ST_SetSRID(ST_GeomFromText('POLYGON((18.6704 50.1671, 19.0423 50.1492, 19.3875 50.2675, 19.5927 50.2046, 19.1676 50.0395, 18.6704 50.1671))'), 4326)),  
    ('Opolskie', ST_SetSRID(ST_GeomFromText('POLYGON((17.2070 50.5458, 17.4982 50.3454, 17.7513 50.2998, 17.8897 50.5008, 17.2070 50.5458))'), 4326)),  
    ('Podkarpackie', ST_SetSRID(ST_GeomFromText('POLYGON((21.1791 49.8919, 21.4867 49.8395, 21.9074 49.7579, 22.0595 49.8491, 21.1791 49.8919))'), 4326));  

CREATE VIEW CombinedVoivodeshipsCitiesView AS  
SELECT  
    'Voivodeship' AS type,  
    v.id AS id,  
    v.name AS name,  
    NULL AS latitude,  
    NULL AS longitude,  
    v.bounds AS geometry  
FROM vovoidships v  

UNION ALL  

SELECT  
    'City' AS type,  
    c.id AS id,  
    c.name AS name,  
    ST_Y(c.coordinates) AS latitude,  
    ST_X(c.coordinates) AS longitude,  
    c.coordinates AS geometry  
FROM cities c;

受到 Kacper Koza 上次 JUGtoberfest 演示的影響,我開始使用更多 IntelliJ 快捷方式。並關閉了標籤。到目前為止一切順利,我的滑鼠得到了休息。

您使用的工具的最新發現是什麼?

以上是IntelliJ Idea 中的 Geo Viewer 很酷的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?Mar 17, 2025 pm 05:44 PM

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Mar 17, 2025 pm 05:35 PM

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

如何在Java中實施功能編程技術?如何在Java中實施功能編程技術?Mar 11, 2025 pm 05:51 PM

本文使用lambda表達式,流API,方法參考和可選探索將功能編程集成到Java中。 它突出顯示了通過簡潔性和不變性改善代碼可讀性和可維護性等好處

如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?Mar 17, 2025 pm 05:43 PM

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?Mar 17, 2025 pm 05:46 PM

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

如何將Java的Nio(新輸入/輸出)API用於非阻滯I/O?如何將Java的Nio(新輸入/輸出)API用於非阻滯I/O?Mar 11, 2025 pm 05:51 PM

本文使用選擇器和頻道使用單個線程有效地處理多個連接的Java的NIO API,用於非阻滯I/O。 它詳細介紹了過程,好處(可伸縮性,性能)和潛在的陷阱(複雜性,

如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?Mar 17, 2025 pm 05:45 PM

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

如何使用Java的插座API進行網絡通信?如何使用Java的插座API進行網絡通信?Mar 11, 2025 pm 05:53 PM

本文詳細介紹了用於網絡通信的Java的套接字API,涵蓋了客戶服務器設置,數據處理和關鍵考慮因素,例如資源管理,錯誤處理和安全性。 它還探索了性能優化技術,我

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),