๐Ÿ—ƒ๏ธ PostGIS๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณต๊ฐ„์ •๋ณด ๋ฐ์ดํ„ฐ shapefile(.shp)์„ PostgreSQL DBํ™” ์‹œํ‚ค๊ธฐ

DongHeon Leeยท2024๋…„ 4์›” 9์ผ
0

PostgreSQL

๋ชฉ๋ก ๋ณด๊ธฐ
1/1
post-thumbnail

์•ˆ๋…•ํ•˜์„ธ์š”. ์˜ค๋žœ๋งŒ์— ๋Œ์•„์˜จ Heon์ž…๋‹ˆ๋‹ค. ์ง€๋‚œ ๋‹ฌ, ์ €๋Š” ์—๋„ˆ์ง€์†”๋ฃจ์…˜ ์Šคํƒ€ํŠธ์—…์—์„œ ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด๋กœ ์žฌ์งํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ์š”. ์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์ ํŠธ์— ํˆฌ์ž…๋˜์–ด ์ „์—๋Š” ๋‹ค๋ค„๋ณด์ง€ ๋ชปํ–ˆ๋˜ ํด๋ฆฌ๊ณค ๊ณต๊ฐ„๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ํฌ์ŠคํŒ…์€ PostGIS๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณต๊ฐ„์ •๋ณด๋ฐ์ดํ„ฐ์ธ shapefile(.shp)์„ PostgreSQL์— importํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์„ฑํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋ชฉ์ ์€ ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ์— ์ž‘์„ฑํ•˜์—ฌ, ์ถ”ํ›„์— ์ œ ์Šค์Šค๋กœ๊ฐ€ ๊ตฌ๊ธ€๋งํ•˜๋Š” ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•จ์ด๋ฉฐ, ๋‘ ๋ฒˆ์งธ๋Š” ๋น„๊ต์  ์ƒ์†Œํ•œ ๊ณต๊ฐ„๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ์ด๋“ค์„ ์œ„ํ•ด ์ œ๊ฐ€ ๊ฒฝํ—˜ํ–ˆ๋˜ ๊ธฐ๋ก๋“ค์„ ๊ณต์œ ํ•˜๊ณ ์ž ํ•จ์ž…๋‹ˆ๋‹ค.

1. PostgreSQL Database ์ƒ์„ฑ

๋จผ์ €, ์ง€๋ฆฌ๊ณต๊ฐ„๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•  DB๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Databases > Create > Database...

2. PostgreSQL์˜ ํ™•์žฅ ๋ชจ๋“ˆ์ธ PostGIS ๋กœ๋“œ

SQL ์ฟผ๋ฆฌ ๋นŒ๋”๋กœ ๋ช…๋ น๋ฌธ์„ ์ž…๋ ฅํ•˜์—ฌ PostgreSQL์— PostGIS extension์„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

create extension postgis;

3. PostGIS๋ฅผ PostgreSQL์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

PostGIS Bundle์„ ์‹คํ–‰์‹œํ‚ค๊ณ , View connection details์—์„œ username, password, host, database๋ฅผ ์ž…๋ ฅํ•ด์„œ ์กฐ๊ธˆ ์ „์— ์ƒ์„ฑํ•œ DB์— ์—ฐ๊ฒฐํ•ด์ฃผ์„ธ์š”.

4. .shp ํŒŒ์ผ import

๋กœ์ปฌ์—์„œ DB์— ์ €์žฅํ•  .shp ํŒŒ์ผ์„ ์„ ํƒํ•˜๊ณ  SRID(๊ณต๊ฐ„ ์ฐธ์กฐ ์‹๋ณ„์ž)๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ ๊ฐ™์€ ๊ณต์œ ๋ฐ์ดํ„ฐ์ธ ๊ฒฝ์šฐ ํ‘œ์ค€์ขŒํ‘œ๊ณ„ ์ •๋ณด์— 4์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ๊ธฐ์žฌ๋˜์–ด ์žˆ์„ ๊ฒƒ์ด์ง€๋งŒ
๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ์—์„œ๋Š” ๋ฐ์ดํ„ฐ ์••์ถ• ํŒŒ์ผ ๋‚ด์— .shp์™€ ๊ฐ™์ด ์žˆ๋Š” .prj ํŒŒ์ผ์„ ์ด์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

https://developers.arcgis.com์—์„œ .prj ํŒŒ์ผ์— ์ ํžŒ ๋ฌธ์ž์—ด์„ ์ฐพ์•„ ๊ณต๊ฐ„๋ฐ์ดํ„ฐ์˜ SRID์ฝ”๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.(ํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ๊ณต๊ฐ„๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ณณ์—์„œ SRID ์ฝ”๋“œ๋ฅผ ์•Œ๋ ค์ค„ํ…Œ๋‹ˆ ์ด๊ฑด ์ •๋ง ์ตœํ›„์˜ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.)

๊ทธ๋ฆฌ๊ณ  import ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ์—ฐ๊ฒฐ๋œ PostgreSQL์— ๊ณต๊ฐ„๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5. ๊ณต๊ฐ„๋ฐ์ดํ„ฐ ์ž…๋ ฅ ํ™•์ธ

์ด์ œ Select๋ฌธ์„ ์‹คํ–‰์‹œ์ผœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜ ๋“ค์–ด๊ฐ„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
geoviewer์—์„œ ๊ณต๊ฐ„๋ฐ์ดํ„ฐ๋ฅผ ์ œ๋Œ€๋กœ ํ™•์ธํ•˜๋ ค๋ฉด ๊ณต๊ฐ„์ฟผ๋ฆฌ๋กœ ๋‹ค๊ฐํ˜• ๋ฉ€ํ‹ฐํด๋ฆฌ๊ณค์„ ํ‘œ์ค€์ขŒํ‘œ๊ณ„๋กœ ๋ณ€ํ™”ํ•ด์„œ ์กฐํšŒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
(์•„๋ž˜ ํ™”๋ฉด์€ Datagrip์„ ์‚ฌ์šฉํ•˜๋ฉด ํ™”๋ฉด์ž…๋‹ˆ๋‹ค.)

-- ๋‹ค๊ฐํ˜• ๋ฉ€ํ‹ฐํด๋ฆฌ๊ณค์„ ํ‘œ์ค€ ์ขŒํ‘œ๊ณ„ WGS 84๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์กฐํšŒ
SELECT dgm_nm, signgu_se, shape_area, ST_AsText(ST_Transform(geom, 4326)) AS wgs84_polygon
FROM upis_c_uq111;

โœ… 6. ์ถ”๊ฐ€ ์ฃผ์˜์‚ฌํ•ญ

6.1 ๊ณต๊ฐ„๋ฐ์ดํ„ฐ๋ฅผ geoviewer์—์„œ ํ™•์ธํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ

์ปฌ๋Ÿผ ์ •๋ณด์—์„œ ์กฐ๊ธˆ ์ „์— ์ž…๋ ฅํ–ˆ๋˜ SRID์ฝ”๋“œ๊ฐ€ ํด๋ฆฌ๊ณค๋ฐ์ดํ„ฐ์— ์ ์šฉ๋˜์–ด ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ๋งž์ง€ ์•Š๋Š”๋‹ค๋ฉด ๊ณต๊ฐ„๋ฐ์ดํ„ฐ๊ฐ€ ์ด์ƒํ•˜๊ฒŒ ์ถœ๋ ฅ์ด ๋ฉ๋‹ˆ๋‹ค.(์•„์ด์Šฌ๋ž€๋“œ๋กœ ๋‚ ์•„๊ฐ€๋ฒ„๋ฆผ)

6.2 shapefile import ์˜ค๋ฅ˜

๊ฒฝ๋กœ์— ํ•œ๊ธ€์ด ๋“ค์–ด๊ฐ€์žˆ์œผ๋ฉด import๊ฐ€ ์•ˆ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜๋“œ์‹œ ์˜์–ด์—ฌ์•ผํ•ด์š”.

import ์„ฑ๊ณต

6.3 shapefile encoding ์˜ค๋ฅ˜

๋งŒ์•ฝ encoding ์˜ค๋ฅ˜๊ฐ€ ๋œฌ๋‹ค๋ฉด options์—์„œ UTF-8์„ EUC-KR๋กœ ๋ฐ”๊พธ์–ด์„œ ์ง„ํ–‰ํ•ด๋ณด์„ธ์š”.

profile
์ด๋Ÿฐ ๊ฒƒ๋„ ํ•ด๋ณด๊ณ , ์ €๋Ÿฐ ๊ฒƒ๋„ ํ•ด๋ณด์ž

0๊ฐœ์˜ ๋Œ“๊ธ€