GIS 516

PyQGIS: 무작위 배경 샘플링 및 시각화 코드 예제

안녕하세요? 이번 글은 래스터 데이터의 범위 내에서 지정된 개수의 무작위 샘플 지점을 생성하는 코드 예제를 소개해 보겠습니다. 해당 코드는 Python용 종 분포 모델링(SDM: Species Distribution Modeling) 도구, elapid(엘라피드)의 일부 소스 코드를 QGIS Python 콘솔에서 동작하도록 수정한 것입니다. elapid(엘라피드): Python용 종 분포 모델링 도구 소개안녕하세요? 이번 글은 Python용 종 분포 모델링(SDM: Species Distribution Modeling) 도구, elapid(엘라피드)에 관해 간략히 소개해 보겠습니다. elapid의 개발자는 플래닛 랩스 지구관측연구소(Earth Observation Lafoss4g.tistory.com먼저..

GIS 2025.01.19

QGIS: 트랜시펙스(Transifex)를 이용한 번역작업 소개

안녕하세요? 이번 글은 트랜시펙스(Transifex)를 이용한 QGIS 번역작업을 소개해 보겠습니다. 트랜시펙스는 웹 기반의 번역 플랫폼으로 QGIS Desktop, QGIS Documentation, QGIS Website의 번역작업을 하실 수 있습니다. 제가 제안할 부분은 "래스터 지형 분석 > 경사 방향"과 "GDAL > 래스터 분석 > 사면 향 분석"의 번역을 맞추는 작업입니다. 해당 도구의 용어는 원래 "Aspect"입니다.  지형 공간정보체계 용어사전 정의를 참고하여 Aspect를 "경사 방향"으로 통일해 보겠습니다. 트랜시펙스(https://app.transifex.com/qgis/)에 접속합니다. "QGIS Deskop > 번역"을 클릭합니다. "qgis-application"을 클릭합니다..

GIS 2024.12.24

PyQGIS: 종 출현 좌표 시각화 코드 예제

안녕하세요? PyQGIS를 통해 종 출현(Presence) 좌표를 시각화하는 예제 코드입니다. QGIS 실행 후 "플러그인 > 파이썬 콘솔"에서 실행하실 수 있습니다. 먼저, 필요한 라이브러리들을 호출합니다.import osfrom PyQt5.QtGui import QColorfrom qgis.core import ( QgsVectorLayer, QgsProject, QgsSymbol, QgsSingleSymbolRenderer,) GeoPackage 파일을 QGIS 레이어로 로드하고 스타일을 설정하는 함수를 정의합니다. GeoPackage 경로(gpkg_path)와 기타 스타일 옵션을 입력받아, QGIS에 레이어를 추가하는데요, 여기서는 레이어의 기본 심볼 색상, 투명도, 크기를 ..

GIS 2024.12.24

QGIS와 PostGIS: 실습용 SQL 쿼리 예제

속성으로 검색SELECT * FROM sigungu;SELECT id, name, geom FROM sigungu;SELECT id, name, geom FROM sigunguWHERE name = '마포구';CREATE OR REPLACE VIEW mapo_sigungu ASSELECT id, name, geomFROM sigunguWHERE name = '마포구';공간으로 검색CREATE OR REPLACE VIEW mapo_road_link ASSELECT rl.*FROM road_link rlJOIN mapo_sigungu msON ST_Intersects(rl.geom, ms.geom);최단 경로 검색CREATE OR REPLACE VIEW mapo_shortest_path ASWITH shor..

GIS 2024.12.10

QGIS 모델 설계자 기능 소개

안녕하세요? 이번 글은 QGIS에서 "모델 설계자" 기능을 이미지 위주로 소개해 보겠습니다. 이번 글에서는 폴리곤 레이어를 입력받아서 내가 원하는 좌표계로 레이어 재투영한 후, 해당 산출물을 다시 도형 수정 처리하여 출력하는 일련의 과정을 하나의 모델로 생성해 보겠습니다. QGIS 메뉴 바에서 "공간 처리 > 모델 설계자"를 실행합니다. "모델 속성"에서 이름과 그룹을 설정해 봅니다. 모델 파일은 *.model3 확장자로 저장됩니다.  폴리곤을 입력 받기 위해 "벡터 레이어" 입력을 추가하겠습니다. 원하는 좌표계 설정을 위해 "좌표계" 입력도 추가합니다. 이렇게 입력 레이어와 좌표계가 추가되었습니다. 알고리즘에서 "레이어 재투영"을 검색 및 추가합니다. 입력 레이어, 대상 좌표계를 아래와 같이 설정합니다..

GIS 2024.12.10

QGIS 실전 플러그인 개발 - (6) 리소스 파일 컴파일하기

안녕하세요? 이번 글은 "QGIS 실전 플러그인 개발" 시리즈의 여섯 번째로, "리소스 파일 컴파일하기"에 대해 다룹니다. 이 과정에서 GeoQuery Tool의 아이콘을 변경해 봅니다.리소스 파일 컴파일플러그인 템플릿 폴더에 icon.png 파일이 포함되어 있으므로, 이를 새 이미지로 교체하면 플러그인 아이콘이 바로 변경될 것으로 기대할 수 있습니다. 그러나 실제로는 resources.qrc 파일이 컴파일되어 생성된 resource.py 파일에 아이콘 이미지가 하드코딩되어 있기 때문에, 현재 설정에서는 아이콘을 변경하려면 해당 파일을 다시 컴파일해야 합니다.OSGeo4W Shellicon.png를 변경한 상태에서 OSGeo4W Shell을 실행하고 아래와 같이 명령 줄을 실행합니다.cd C:\Users..

GIS 2024.12.08

QGIS 실전 플러그인 개발 - (5) 플러그인의 핵심 로직 구현

안녕하세요? 이번 글은 "QGIS 실전 플러그인 개발" 시리즈의 다섯 번째로, "플러그인의 핵심 로직 구현"에 대해 다룹니다. 이번에는 geoquery.py 파일을 변경하여 플러그인의 핵심 로직을 구현합니다.핵심 로직 구현두 번째 글에서 작성한 Python 코드를 적용하되, 일부 코드만 변경해주시면 되겠습니다. QGIS 실전 플러그인 개발 - (2) Vworld API를 활용한 Python 코드 작성안녕하세요? 이번 글은 "QGIS 실전 플러그인 개발" 시리즈의 두 번째로, "Vworld API를 활용한 Python 코드 작성"에 대해 다룹니다.라이브러리 호출먼저 HTTP 요청, 데이터 파싱, QGIS 작업, 그리고 Pyfoss4g.tistory.comimport requestsimport jsonfro..

GIS 2024.12.08