感謝 波茲南 Java 使用者群組 在一次聚會期間隨機選擇我來獲得 JetBrains IntelliJ Idea Ultimate 許可證,我開始每天使用它。對我來說這並不是全新的軟體。我使用 Android Studio 已經將近十年了,偶爾會在 IntelliJ 社群版中參與一些副專案。最近在工作中,我一直在使用 VS Code 和 NeoVim。與後者完全不同的 IDE 理念。
我目前恰好在後端工作,IntelliJ 絕對是一個野獸,它的內建工具可以滿足您能想像到的一切。
除了 TypeScript、SQL 和建置配置的常用語言支援之外,還有不錯的資料庫工具。資料顯示類似Excel電子表格,可以過濾,可以產生DDL程式碼,畫圖表等。沒什麼特別的;其他工具可以實現這一點。
但這只是在 IDE 內部,因此無需更改上下文即可輕鬆存取。
我偶然注意到了 Geo Viewer 工具。
我正在處理一些地理數據,例如區域和點。 Geo Viewer 開箱即用。不需要插件或配置。至少對於具有 Postgis 設定的 Postgres 來說是這樣。
這看起來可能是不必要的視覺效果,但實際上對於調試很有用。想像一下有一個查詢從一個表格傳回另一個表中定義的區域內的點。能在實際地圖上看到結果真是太棒了。
我使用 ChatGPT 產生波蘭各省的資料。這並不完全是壞事...它們都在正確的位置,只是太小了。
城市位置的資料沒問題。
為了在單一地理視圖上視覺化城市和區域,我使用了一個簡單的 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中文網其他相關文章!