>Java >java지도 시간 >IntelliJ Idea의 Geo Viewer는 훌륭합니다.

IntelliJ Idea의 Geo Viewer는 훌륭합니다.

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-23 01:02:031011검색

안녕 오랜 친구

Poznań Java User GroupJetBrains IntelliJ Idea Ultimate 라이선스를 받기 위해 모임 중에 무작위로 저를 선택해 주신 덕분에 매일 사용하기 시작했습니다. 그것은 나에게 완전히 새로운 소프트웨어는 아닙니다. 저는 거의 10년 동안 Android Studio를 사용해 왔으며 가끔 IntelliJ Community Edition의 사이드 프로젝트 작업을 진행하고 있습니다. 최근 직장에서는 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

단일 Geo View에서 도시와 지역을 시각화하기 위해 간단한 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;

지난 JUGtoberfest에서 열린 Kacper Koza 프레젠테이션의 영향을 받아 더 많은 IntelliJ 단축키를 사용하기 시작했습니다. 그리고 탭을 껐습니다. 지금까지는 너무 좋아서 마우스가 좀 쉬고 있어요.

당신이 사용하는 도구에서 최근에 발견한 것은 무엇입니까?

위 내용은 IntelliJ Idea의 Geo Viewer는 훌륭합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.