주석으로 채워가는 대학원생의 연구 노트

[Geodjango] Geodjango 설치 및 기본 설정하기 본문

Web GIS/Back End

[Geodjango] Geodjango 설치 및 기본 설정하기

밤샘노트 2025. 1. 14. 21:38

 

 

 

1. 사이트 접속하기

Geodjango를 설치하기 위해 아래 사이트에 접속한다.

https://trac.osgeo.org/osgeo4w/

 

OSGeo4W

OSGeo4W Japanese French Polish Deutsch This is the web site, wiki and issue tracking database for the OSGeo4W project. OSGeo4W is a binary distribution of a broad set of open source geospatial software for Windows environments (Windows 11 down to 7). OSGeo

trac.osgeo.org

 


2. 다운로드 하기

사이트에서 'OSGeo4W network installer'를 클릭하여 다운로드를 진행한다.

 


3. 설치 및 경로 설정하기

다운로드가 완료된 파일을 클릭한 뒤, 아래 단계를 따라 실행한다.

우리는 OSGeo4W를 사용하여 윈도우에 GDAL을 설치하고 환경 변수를 자동으로 설정하려고 한다.

 


4. 가상환경 내 Geodjango 설치 및 기본 설정하기

  • GDAL 다운로드
    • Python 가상환경 내 GDAL 설치
  • Geodjango_setup.bat 생성 및 실행
    • GDAL에 대한 Import 설정
  • Django에 GeoDjango 기능 확장
    • 가상환경 내 Django 프로젝트의 settings.py 파일에서 GDAL을 인식시키는 설정 과정

 

4-1) GDAL 다운로드 하기

앞서 OSGeo4W에서 설치한 GDAL은 Windows 환경에 설치하기 위한 단계였다.

이번에는 Python 가상환경에 GDAL을 설치해야 한다.

 

GDAL을 설치하려면 아래 사이트에 접속한다.

https://github.com/cgohlke/geospatial-wheels/releases

 

Releases · cgohlke/geospatial-wheels

Geospatial library wheels for Python on Windows. Contribute to cgohlke/geospatial-wheels development by creating an account on GitHub.

github.com

 


 

 

사이트에 접속한 뒤, v2024.2.18 폴더에서 Details 메뉴를 클릭해 하위 메뉴를 확인한다.

작성자는 이전 포스팅에서 설치한 Python 3.12 버전에 맞는 GDAL 파일을 선택하여 다운로드하였다.

 


 

 

다음으로 다운로드가 완료된 파일을 가상환경 내 Django 프로젝트(mygisproject) 폴더에 복사하여 붙여넣는다.

 


 

 

PyCharm 터미널에 아래 코드를 입력해 가상환경에 GDAL을 설치한다.

# 사용자가 다운로드한 GDAL 파일 이름으로 변경
pip install GDAL-3.8.4-cp312-cp312-win_amd64.whl

 


 

4-2) Geodjango_setup.bat 생성하기

파일을 생성하기 위해, 먼저 PyCharm 프로그램을 실행한다.

# 관리자 권한으로 실행하길 권장한다.

 


 

우리는 이전 포스팅에서 'Django 개발 환경 설정 및 프로젝트 생성 방법'에 대해 알아보았다.

이전 포스팅을 진행하지 않았다면, 아래 링크를 참고하여 선행 작업을 완료한 뒤 진행하길 바란다.

https://jjh020729.tistory.com/18

 

[Django] Django 개발 환경 설정 및 프로젝트 생성하기

1. PyCharm 실행하기Windows 검색창에 PyCharm을 검색하여 프로그램을 실행한다.이때, 프로그램을 관리자 권한으로 실행해야 오류 없이 작업을 진행할 수 있다. 2. Django 개발 환경 준비하기geopandas를 설

jjh020729.tistory.com


 

 

이전에 생성한 mygisproject 프로젝트 폴더에서 'mygisproject 폴더 우클릭 → New → File'을 클릭한다.

파일 이름은 "Geodjango_setup.bat"으로 설정하여 생성한다.

 

 

4-3) Geodjango_setup.bat 파일 코드 작성 및 실행

생성된 파일에 아래 코드를 입력하고 저장한다.

set OSGE04W_ROOT=C:\OSGeo4W
set PYTHON_ROOT="C:/Program Files/Python39"
set GDAL_DATA=%OSGE04W_ROOT%\SHARE\gdal
set PROJ_LIB=%OSGE04W_ROOT%\SHARE\proj
set PATH=%PATH%;%PYTHON_ROOT%;%OSGE04W_ROOT%\bin
reg ADD "HKLM\SYSTEN\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /f /d "%PATH%"
reg ADD "HKLM\SYSTEN\CurrentControlSet\Control\Session Manager\Environment" /v GDAL_DATA /t REG_EXPAND_SZ /f /d "%GDAL_DATA%"
reg ADD "HKLM\SYSTEN\CurrentControlSet\Control\Session Manager\Environment" /v PROJ_LIB /t REG_EXPAND_SZ /f /d "%PROJ_LIB%"

 

 

저장한 후, 'Geodjango_setup.bat' 파일이 있는 폴더로 이동하여 파일을 마우스 오른쪽 클릭 → 관리자 권한으로 실행한다.

# 관리자 권한으로 실행했을 때, 0.00001초 동안만 실행 창이 보이고 사라지는 것은 정상이다.

 


 

4-4) Django에 GeoDjango 기능 확장하기

이번에는 Django 프로젝트의 settings.py 파일에서 GDAL을 인식하도록 설정하는 과정을 알아보겠다.

 

 

4-4-1) Django 프로젝트 파일(mygisproject) → settings.py → BASE_DIR 코드 바로 아래에 다음 코드를 추가한다.

import os

if os.name == 'nt':
    VIRTUAL_ENV_BASE = os.environ['VIRTUAL_ENV']
    os.environ['PATH'] = os.path.join(VIRTUAL_ENV_BASE, r'.\Lib\site-packages\osgeo') + ';' + os.environ['PATH']
    os.environ['PROJ_LIB'] = os.path.join(VIRTUAL_ENV_BASE, r'.\Lib\site-packages\osgeo\data\proj') + ';' + os.environ['PATH']

 

 

 

4-4-2) Django 프로젝트 파일(mygisproject) → settings.py → INSTALLED_APPS에 아래 코드를 입력하고 저장한다.

'django.contrib.gis', #geodjango

 

 

4-4-3) Django 프로젝트 파일(mygisproject) → Terminal에서 다음 코드를 실행하여 설정이 제대로 적용되었는지 확인한다.

python manage.py runserver

 


 

# 만약 아래와 같은 오류가 발생한다면?

GDAL 오류 확인 및 해결 방법

  • GDAL 버전이 매칭되지 않아 오류가 발생할 수 있다.
  • 이 경우, OSGeo의 .dll파일 버전과 Django의 GDAL 버전을 일치시켜야 한다.

 


 

 # gdal.dll 버전 확인하기

'BE_Project_1/.venv/Lib/osgeo/' 경로에 있는 gdal.dll 파일의 버전을 확인한다.

  • 파일 이름이 작성자의 경우처럼 'gdal.dll'로 되어 있을 수도 있고, 'gdal_304.dll' 처럼 숫자가 붙어 있을 수도 있으니 반드시 확인한다.

 

 

# libgdal.py 파일 수정하기

'BE_Project_1/.venv/Lib/django/contrib/gis/' 경로에서 libgdal.py 파일을 더블클릭하여 연다.

  • osgeo의 .dll 파일 이름과 동일한 이름이 가장 먼저 오도록 libgdal.py 코드를 수정한다.
  • 필요 없는 코드는 주석 처리하여 충돌을 방지한다.

 

이 과정을 통해 해당 오류를 해결할 수 있다.

 


# 참고자료

이번 포스팅에서는 아래 사이트를 참고하여 정리하였습니다.

저작권이나 기타 문제가 있을 경우 알려주시면, 즉시 검토하고 수정하겠습니다.

 

https://suskind.tistory.com/71

 

windows geodjango 서버 구축

geodjango 공식 문서 https://docs.djangoproject.com/ko/4.2/ref/contrib/gis/tutorial/ 1. OSGeo4W 설치 https://trac.osgeo.org/osgeo4w/ OSGeo4W network installer 클릭 2. Python 가상환경 만들기 프로젝트 폴더를 생성 폴더 내에서 터

suskind.tistory.com

 

https://gisngps.tistory.com/2

 

OSGeo4W 설치하기

OSGeo4W 는 GAL/OGR, QuantumGIS(qgis) 등 여러 GIS 프로그램을 묶은 패키지입니다. 대표적으로 데스크탑 GIS 프로그램인 qgis, 프로그램 언어인 python, OSGeo4W shell 등입니다. 앞으로 소개할 지도 만드는데 꼭

gisngps.tistory.com

 

https://velog.io/@kjyeon1101/Django-Windows%EC%97%90%EC%84%9C-geoDjango-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-GDAL-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

 

[Django] Windows에서 geoDjango 사용하기 (+GDAL 설치하기)

진심 아 삽질 개오지게 했다 와~~ 뒈질뻔!!!! 😇구세주😇 https://www.pointsnorthgis.ca/blog/geodjango-gdal-setup-windows-10/ 문제 상황 1. admin에서 모델 등록을 하려는데 OGR failure 가 나고

velog.io

 

https://github.com/cgohlke/geospatial-wheels/releases

 

Releases · cgohlke/geospatial-wheels

Geospatial library wheels for Python on Windows. Contribute to cgohlke/geospatial-wheels development by creating an account on GitHub.

github.com