QGIS는 Pandas와 GeoPandas를 사용할 수 있습니다.
개시하다
Pandas(GeoPandas)가 편하네요.
다만 QGIS의 파이썬 콘솔에서는 사용할 수 없기 때문에 사용해야 한다.
GeoPandas에 가입하려고 했는데 해결하기 어려운 문제가 생겨서 일단 Pandas로 참아요.
참고했던 사이트가 여기 있어요.
https://umar-yusuf.blogspot.com/2018/12/install-third-party-python-modules-in.html
모듈 추가
환경 확인
이번에는 Windows 7의 QGIS3입니다.네 가지 환경에서 진행됩니다.
먼저 동작 환경을 확인합니다.
QGIS를 시작하고 파이톤 콘솔을 엽니다.
그럼 다음 지령이 판다스를 읽을 수 있는지 시험해 보겠습니다.>>> import pandas
Traceback (most recent call last):
File "C:\PROGRA~1\QGIS3~1.4\apps\Python37\lib\code.py", line 90, in runcode
exec(code, self.locals)
File "<input>", line 1, in <module>
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis-ltr/./python\qgis\utils.py", line 672, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
ModuleNotFoundError: No module named 'pandas'
예, 모듈이 없어서 오류가 발생했습니다.
나오지 않으면 이미 사용할 수 있으니 아래의 절차는 필요 없다.
다음은 파이썬 콘솔에서 사용하는 파이썬의 버전을 확인합니다.
다음 명령을 실행하십시오.>>> import sys
>>> sys.version
'3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]'
나는 파이톤의 3.7.0이 사용된다는 것을 알았다.
그럼 이제 관리자로서 시작 메뉴부터 QGIS 폴더 내OSGeo4W Shell
까지 수행합니다.
Windows 10의 경우 컨텍스트 메뉴의 [기타] - [파일 위치 열기]에서 파일을 관리자로 선택합니다.
관리자가 실행하지 않으면 이후 설치는 권한이 없다는 욕을 먹을 수 있다.
OSGeo4W Shell이 열리면 python -V
던져주세요.C:\Windows\System32>python -V
Python 2.7.14
여기 파이썬은 2.714를 참고했습니다.
pip 설치
모듈을 추가할 때 pip를 사용합니다.
방금 켠 OSGeo4W Shell을 사용하여 pip을 설치합니다.
설치 명령은 python -m ensurepip --default-pip
입니다.C:\Windows\System32>python -m ensurepip --default-pip
Collecting setuptools
Requirement already satisfied: pip in c:\progra~1\qgis3~1.4\apps\python27\lib\site-packages
Installing collected packages: setuptools
Successfully installed setuptools-28.8.0
괜찮아요. 들어갈게요.
(내 환경에 피프가 있는 것 같다.)
최신판이 아니면 욕먹을 수도 있으니 업데이트도 방송된다.C:\Windows\System32>python -m pip install --upgrade pip setuptools
Collecting pip
Downloading https://files.pythonhosted.org/packages/5c/e0/be401c003291b56efc55aeba6a80ab790d3d4cece2778288d65323009420/pip-19.1.1-py2.py3-none-any.whl (1.4MB)
100% |################################| 1.4MB 1.6MB/s
Collecting setuptools
Downloading https://files.pythonhosted.org/packages/ec/51/f45cea425fd5cb0b0380f5b0f048ebc1da5b417e48d304838c02d6288a1e/setuptools-41.0.1-py2.py3-none-any.whl (575kB)
100% |################################| 583kB 2.1MB/s
Installing collected packages: pip, setuptools
Found existing installation: pip 19.0.3
Uninstalling pip-19.0.3:
Successfully uninstalled pip-19.0.3
Found existing installation: setuptools 28.8.0
Uninstalling setuptools-28.8.0:
Successfully uninstalled setuptools-28.8.0
Successfully installed pip-19.1.1 setuptools-41.0.1
파이썬 버전 전환
OSGeo4W Shell의 파이썬 버전이 2개 계열이기 때문에 3개 계열로 전환했다.
나는 3과면 필요 없다고 생각한다.
OSGeo4W 셸py3_env
을 사용합니다.
몇 개의 SET 명령이 자동으로 재생됩니다.C:\Windows\System32>py3_env
C:\Windows\System32>SET PYTHONPATH=
C:\Windows\System32>SET PYTHONHOME=C:\PROGRA~1\QGIS3~1.4\apps\Python37
C:\Windows\System32>PATH C:\PROGRA~1\QGIS3~1.4\apps\Python37;C:\PROGRA~1\QGIS3~1.4\apps\Python37\Scripts;C:\PROGRA~1\QGIS3~1.4\apps\Python27\Scripts;C:\PROGRA~1\QGIS3~1.4\bin;C:\windows\system32;C:\windows;C:\windows\system32\WBem
어떤 변화가 있는지 확인해 보세요.C:\Windows\System32>python -V
Python 3.7.0
파이썬 콘솔과 같은 버전으로 바뀌었습니다.
Pandas 모듈 추가
Pip을 사용하여 Pandas를 추가하십시오.
OSGeo4W 쉘python -m pip install pandas
으로 던졌다.C:\Windows\System32>python -m pip install pandas
Collecting pandas
Downloading https://files.pythonhosted.org/packages/61/c7/f943fceb712579bc538700e2c157dc4972e16abfe29bd4969149bad98c74/pandas-0.24.2-cp37-cp37m-win_amd64.whl (9.0MB)
100% |████████████████████████████████| 9.0MB 24kB/s
Requirement already satisfied: python-dateutil>=2.5.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas) (2.7.5)
Requirement already satisfied: numpy>=1.12.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas) (1.16.3)
Requirement already satisfied: pytz>=2011k in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas) (2018.7)
Requirement already satisfied: six>=1.5 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)
Installing collected packages: pandas
Successfully installed pandas-0.24.2
성공했어.
동작 확인
그럼 확인해 보시죠.
QGIS를 다시 시작한 후 Python 콘솔을 다시 엽니다.
그리고 방금 오류가 발생했습니다 import pandas
.
잘못 가져오지 않았으니 적절한 Excel 파일로 읽어 보세요.>>> import pandas
>>> pandas.read_excel('c:/work/test.xlsx')
a b c
0 50351610 12.25218 -10.13777
1 50351611 12.25274 -10.14224
2 50351612 12.24903 -10.14193
불러왔습니다.
GeoPandas에 도전
OSGeo4W 쉘python -m pip install geopandas
으로 던졌다.C:\Windows\System32>python -m pip install geopandas
Collecting geopandas
Downloading https://files.pythonhosted.org/packages/74/42/f4b147fc7920998a42046d0c2e65e61000bc5d104f1f8aec719612cb2fc8/geopandas-0.5.0-py2.py3-none-any.whl (893kB)
100% |████████████████████████████████| 901kB 6.5MB/s
Requirement already satisfied: pyproj in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (1.9.6)
Requirement already satisfied: shapely in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (1.6.4.post2)
Requirement already satisfied: pandas in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (0.24.2)
Collecting fiona (from geopandas)
Downloading https://files.pythonhosted.org/packages/41/9d/63696e7b1de42aad294d4781199a408bec593d8fdb80a2b4a788c911a33b/Fiona-1.8.6.tar.gz (1.7MB)
100% |████████████████████████████████| 1.7MB 3.1MB/s
Complete output from command python setup.py egg_info:
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\hoge\AppData\Local\Temp\pip-install-p0dr78y4\fiona\
아, 오류가 났어요.
피나라는 도서관에서 gdal-config로 가는 경로를 지정하지 않아서 화가 난 것 같습니다.
같은 문제로 괴로워하는 사람을 찾을 수 있었지만, 쉽게 풀기 어려워 일단 포기했다.
참고로 여기 한번 해보면 성공이야.
https://gis.stackexchange.com/questions/82200/how-to-install-fiona-to-read-shapefile-attributes-with-osgeo4w/82206
먼저 파이썬 콘솔부터 GDAL 버전을 조사한다.>>> import osgeo
>>> osgeo.gdal.VersionInfo("RELEASE_NAME")
'2.3.2'
변수GDAL_VERSION
로 환경 변수에 값2.3.2
을 추가합니다.
설정이 되면 신중을 기하기 위해 시동을 걸자.
다음 URL의 Fiona 오류, 1.8.6 오류, cp37 오류, cp37 오류, cp37 오류, winamd64.whl 다운로드
(버전 제외,cp37
https://www.lfd.uci.edu/~gohlke/pythonlibs/#fiona
다운로드한 파일을 적당한 위치로 이동하면
OSGeo4W 셸을 사용하여 설치 수행C:\Windows\System32>python -m pip install c:/work/Fiona-1.8.6-cp37-cp37m-win_amd64.whl
Processing c:/work/fiona-1.8.6-cp37-cp37m-win_amd64.whl
Collecting click>=4.0 (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)
|████████████████████████████████| 81kB 2.6MB/s
Collecting munch (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/68/f4/260ec98ea840757a0da09e0ed8135333d59b8dfebe9752a365b04857660a/munch-2.3.2.tar.gz
Collecting click-plugins>=1.0 (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/e9/da/824b92d9942f4e472702488857914bdd50f73021efea15b4cad9aca8ecef/click_plugins-1.1.1-py2.py3-none-any.wh
l
Collecting cligj>=0.5 (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/e4/be/30a58b4b0733850280d01f8bd132591b4668ed5c7046761098d665ac2174/cligj-0.5.0-py3-none-any.whl
Collecting attrs>=17 (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/23/96/d828354fa2dbdf216eaa7b7de0db692f12c234f7ef888cc14980ef40d1d2/attrs-19.1.0-py2.py3-none-any.whl
Requirement already satisfied: six>=1.7 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from Fiona==1.8.6) (1.12.0)
Installing collected packages: click, munch, click-plugins, cligj, attrs, Fiona
Running setup.py install for munch ... done
Successfully installed Fiona-1.8.6 attrs-19.1.0 click-7.0 click-plugins-1.1.1 cligj-0.5.0 munch-2.3.2
방금 실패한 피나가 설치되었으니 GeoPandas를 한 번 더 추가하세요.C:\Windows\System32>python -m pip install geopandas
Collecting geopandas
Using cached https://files.pythonhosted.org/packages/74/42/f4b147fc7920998a42046d0c2e65e61000bc5d104f1f8aec719612cb2fc8/geopandas-0.5.0-py2.py3-none-any.whl
Collecting pyproj (from geopandas)
Using cached https://files.pythonhosted.org/packages/ce/36/2d8f1fe6bf32eebc0e880d9f27b394b97dd5119303986de691d7e91e1a51/pyproj-2.2.1-cp37-cp37m-win_amd64.whl
Requirement already satisfied: fiona in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (1.8.6)
Collecting shapely (from geopandas)
Using cached https://files.pythonhosted.org/packages/a2/fb/7a7af9ef7a35d16fa23b127abee272cfc483ca89029b73e92e93cdf36e6b/Shapely-1.6.4.post2.tar.gz
Requirement already satisfied: pandas in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (0.24.2)
Requirement already satisfied: click>=4.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (7.0)
Requirement already satisfied: attrs>=17 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (19.1.0)
Requirement already satisfied: cligj>=0.5 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (0.5.0)
Requirement already satisfied: six>=1.7 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (1.12.0)
Requirement already satisfied: munch in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (2.3.2)
Requirement already satisfied: click-plugins>=1.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (1.1.1)
Requirement already satisfied: numpy>=1.12.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas->geopandas) (1.15.4)
Requirement already satisfied: pytz>=2011k in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas->geopandas) (2018.7)
Requirement already satisfied: python-dateutil>=2.5.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas->geopandas) (2.7.5)
Installing collected packages: pyproj, shapely, geopandas
Running setup.py install for shapely ... done
Successfully installed geopandas-0.5.0 pyproj-2.2.1 shapely-1.6.4.post2
이번에는 성공한 것 같다.
동작 확인
QGIS를 다시 시작한 후 파이톤 콘솔을 엽니다.
실행해 보세요import geopandas
.
잘못 가져오지 않았으니 적당한 농담 파일로 읽어 보세요.>>> import geopandas
>>> geopandas.read_file('c:/work/test_pl.shp')
gid geometry
0 1845193 LINESTRING (-34287.477 -89755.997, -34283.604 ...
1 1847175 LINESTRING (-30711.356 -90881.484, -30712.981 ...
2 1847176 LINESTRING (-33770.897 -91487.429, -33769.417 ...
3 1847177 LINESTRING (-34019.315 -87829.27899999999, -34...
・
・省略
・
13548 1661930 LINESTRING (-32960.024 -87385.46400000001, -32...
13549 1661931 LINESTRING (-36652.435 -88311.53999999999, -36...
13550 1661932 LINESTRING (-33645.849 -89185.613, -33619.816 ...
[13551 rows x 5 columns]
대박이다.
최후
이번에는 판다스를 대상으로 다른 모듈도 당연히 추가할 수 있다.
(GeoPandas 실패)
그리고 이 플러그인도 판다스를 사용할 수 있다.
개인적으로 QGIS 플러그인 등 연산 성능이 필요한 상황에서 만만치 않은 효과가 있다고 본다.
그러나 사용할 수 있도록 상술한 절차가 필요하기 때문에 공개 플러그인에는 적용되지 않는다.
만약 나에게 좋은 방법이 있다면 나는 매우 기쁠 것이다.
본 보도의 허가증
이 글은 창의 공통 모델 4.0 국제 허가증 표시의 아래에서 제공한 것이다.
Reference
이 문제에 관하여(QGIS는 Pandas와 GeoPandas를 사용할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ozo360/items/87334983e7e9b95d50e9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
환경 확인
이번에는 Windows 7의 QGIS3입니다.네 가지 환경에서 진행됩니다.
먼저 동작 환경을 확인합니다.
QGIS를 시작하고 파이톤 콘솔을 엽니다.
그럼 다음 지령이 판다스를 읽을 수 있는지 시험해 보겠습니다.
>>> import pandas
Traceback (most recent call last):
File "C:\PROGRA~1\QGIS3~1.4\apps\Python37\lib\code.py", line 90, in runcode
exec(code, self.locals)
File "<input>", line 1, in <module>
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis-ltr/./python\qgis\utils.py", line 672, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
ModuleNotFoundError: No module named 'pandas'
예, 모듈이 없어서 오류가 발생했습니다.나오지 않으면 이미 사용할 수 있으니 아래의 절차는 필요 없다.
다음은 파이썬 콘솔에서 사용하는 파이썬의 버전을 확인합니다.
다음 명령을 실행하십시오.
>>> import sys
>>> sys.version
'3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]'
나는 파이톤의 3.7.0이 사용된다는 것을 알았다.그럼 이제 관리자로서 시작 메뉴부터 QGIS 폴더 내
OSGeo4W Shell
까지 수행합니다.Windows 10의 경우 컨텍스트 메뉴의 [기타] - [파일 위치 열기]에서 파일을 관리자로 선택합니다.
관리자가 실행하지 않으면 이후 설치는 권한이 없다는 욕을 먹을 수 있다.
OSGeo4W Shell이 열리면
python -V
던져주세요.C:\Windows\System32>python -V
Python 2.7.14
여기 파이썬은 2.714를 참고했습니다.pip 설치
모듈을 추가할 때 pip를 사용합니다.
방금 켠 OSGeo4W Shell을 사용하여 pip을 설치합니다.
설치 명령은
python -m ensurepip --default-pip
입니다.C:\Windows\System32>python -m ensurepip --default-pip
Collecting setuptools
Requirement already satisfied: pip in c:\progra~1\qgis3~1.4\apps\python27\lib\site-packages
Installing collected packages: setuptools
Successfully installed setuptools-28.8.0
괜찮아요. 들어갈게요.(내 환경에 피프가 있는 것 같다.)
최신판이 아니면 욕먹을 수도 있으니 업데이트도 방송된다.
C:\Windows\System32>python -m pip install --upgrade pip setuptools
Collecting pip
Downloading https://files.pythonhosted.org/packages/5c/e0/be401c003291b56efc55aeba6a80ab790d3d4cece2778288d65323009420/pip-19.1.1-py2.py3-none-any.whl (1.4MB)
100% |################################| 1.4MB 1.6MB/s
Collecting setuptools
Downloading https://files.pythonhosted.org/packages/ec/51/f45cea425fd5cb0b0380f5b0f048ebc1da5b417e48d304838c02d6288a1e/setuptools-41.0.1-py2.py3-none-any.whl (575kB)
100% |################################| 583kB 2.1MB/s
Installing collected packages: pip, setuptools
Found existing installation: pip 19.0.3
Uninstalling pip-19.0.3:
Successfully uninstalled pip-19.0.3
Found existing installation: setuptools 28.8.0
Uninstalling setuptools-28.8.0:
Successfully uninstalled setuptools-28.8.0
Successfully installed pip-19.1.1 setuptools-41.0.1
파이썬 버전 전환
OSGeo4W Shell의 파이썬 버전이 2개 계열이기 때문에 3개 계열로 전환했다.
나는 3과면 필요 없다고 생각한다.
OSGeo4W 셸
py3_env
을 사용합니다.몇 개의 SET 명령이 자동으로 재생됩니다.
C:\Windows\System32>py3_env
C:\Windows\System32>SET PYTHONPATH=
C:\Windows\System32>SET PYTHONHOME=C:\PROGRA~1\QGIS3~1.4\apps\Python37
C:\Windows\System32>PATH C:\PROGRA~1\QGIS3~1.4\apps\Python37;C:\PROGRA~1\QGIS3~1.4\apps\Python37\Scripts;C:\PROGRA~1\QGIS3~1.4\apps\Python27\Scripts;C:\PROGRA~1\QGIS3~1.4\bin;C:\windows\system32;C:\windows;C:\windows\system32\WBem
어떤 변화가 있는지 확인해 보세요.C:\Windows\System32>python -V
Python 3.7.0
파이썬 콘솔과 같은 버전으로 바뀌었습니다.Pandas 모듈 추가
Pip을 사용하여 Pandas를 추가하십시오.
OSGeo4W 쉘
python -m pip install pandas
으로 던졌다.C:\Windows\System32>python -m pip install pandas
Collecting pandas
Downloading https://files.pythonhosted.org/packages/61/c7/f943fceb712579bc538700e2c157dc4972e16abfe29bd4969149bad98c74/pandas-0.24.2-cp37-cp37m-win_amd64.whl (9.0MB)
100% |████████████████████████████████| 9.0MB 24kB/s
Requirement already satisfied: python-dateutil>=2.5.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas) (2.7.5)
Requirement already satisfied: numpy>=1.12.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas) (1.16.3)
Requirement already satisfied: pytz>=2011k in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas) (2018.7)
Requirement already satisfied: six>=1.5 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)
Installing collected packages: pandas
Successfully installed pandas-0.24.2
성공했어.동작 확인
그럼 확인해 보시죠.
QGIS를 다시 시작한 후 Python 콘솔을 다시 엽니다.
그리고 방금 오류가 발생했습니다
import pandas
.잘못 가져오지 않았으니 적절한 Excel 파일로 읽어 보세요.
>>> import pandas
>>> pandas.read_excel('c:/work/test.xlsx')
a b c
0 50351610 12.25218 -10.13777
1 50351611 12.25274 -10.14224
2 50351612 12.24903 -10.14193
불러왔습니다.
GeoPandas에 도전
OSGeo4W 쉘python -m pip install geopandas
으로 던졌다.C:\Windows\System32>python -m pip install geopandas
Collecting geopandas
Downloading https://files.pythonhosted.org/packages/74/42/f4b147fc7920998a42046d0c2e65e61000bc5d104f1f8aec719612cb2fc8/geopandas-0.5.0-py2.py3-none-any.whl (893kB)
100% |████████████████████████████████| 901kB 6.5MB/s
Requirement already satisfied: pyproj in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (1.9.6)
Requirement already satisfied: shapely in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (1.6.4.post2)
Requirement already satisfied: pandas in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (0.24.2)
Collecting fiona (from geopandas)
Downloading https://files.pythonhosted.org/packages/41/9d/63696e7b1de42aad294d4781199a408bec593d8fdb80a2b4a788c911a33b/Fiona-1.8.6.tar.gz (1.7MB)
100% |████████████████████████████████| 1.7MB 3.1MB/s
Complete output from command python setup.py egg_info:
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\hoge\AppData\Local\Temp\pip-install-p0dr78y4\fiona\
아, 오류가 났어요.
피나라는 도서관에서 gdal-config로 가는 경로를 지정하지 않아서 화가 난 것 같습니다.
같은 문제로 괴로워하는 사람을 찾을 수 있었지만, 쉽게 풀기 어려워 일단 포기했다.
참고로 여기 한번 해보면 성공이야.
https://gis.stackexchange.com/questions/82200/how-to-install-fiona-to-read-shapefile-attributes-with-osgeo4w/82206
먼저 파이썬 콘솔부터 GDAL 버전을 조사한다.>>> import osgeo
>>> osgeo.gdal.VersionInfo("RELEASE_NAME")
'2.3.2'
변수GDAL_VERSION
로 환경 변수에 값2.3.2
을 추가합니다.
설정이 되면 신중을 기하기 위해 시동을 걸자.
다음 URL의 Fiona 오류, 1.8.6 오류, cp37 오류, cp37 오류, cp37 오류, winamd64.whl 다운로드
(버전 제외,cp37
https://www.lfd.uci.edu/~gohlke/pythonlibs/#fiona
다운로드한 파일을 적당한 위치로 이동하면
OSGeo4W 셸을 사용하여 설치 수행C:\Windows\System32>python -m pip install c:/work/Fiona-1.8.6-cp37-cp37m-win_amd64.whl
Processing c:/work/fiona-1.8.6-cp37-cp37m-win_amd64.whl
Collecting click>=4.0 (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)
|████████████████████████████████| 81kB 2.6MB/s
Collecting munch (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/68/f4/260ec98ea840757a0da09e0ed8135333d59b8dfebe9752a365b04857660a/munch-2.3.2.tar.gz
Collecting click-plugins>=1.0 (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/e9/da/824b92d9942f4e472702488857914bdd50f73021efea15b4cad9aca8ecef/click_plugins-1.1.1-py2.py3-none-any.wh
l
Collecting cligj>=0.5 (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/e4/be/30a58b4b0733850280d01f8bd132591b4668ed5c7046761098d665ac2174/cligj-0.5.0-py3-none-any.whl
Collecting attrs>=17 (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/23/96/d828354fa2dbdf216eaa7b7de0db692f12c234f7ef888cc14980ef40d1d2/attrs-19.1.0-py2.py3-none-any.whl
Requirement already satisfied: six>=1.7 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from Fiona==1.8.6) (1.12.0)
Installing collected packages: click, munch, click-plugins, cligj, attrs, Fiona
Running setup.py install for munch ... done
Successfully installed Fiona-1.8.6 attrs-19.1.0 click-7.0 click-plugins-1.1.1 cligj-0.5.0 munch-2.3.2
방금 실패한 피나가 설치되었으니 GeoPandas를 한 번 더 추가하세요.C:\Windows\System32>python -m pip install geopandas
Collecting geopandas
Using cached https://files.pythonhosted.org/packages/74/42/f4b147fc7920998a42046d0c2e65e61000bc5d104f1f8aec719612cb2fc8/geopandas-0.5.0-py2.py3-none-any.whl
Collecting pyproj (from geopandas)
Using cached https://files.pythonhosted.org/packages/ce/36/2d8f1fe6bf32eebc0e880d9f27b394b97dd5119303986de691d7e91e1a51/pyproj-2.2.1-cp37-cp37m-win_amd64.whl
Requirement already satisfied: fiona in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (1.8.6)
Collecting shapely (from geopandas)
Using cached https://files.pythonhosted.org/packages/a2/fb/7a7af9ef7a35d16fa23b127abee272cfc483ca89029b73e92e93cdf36e6b/Shapely-1.6.4.post2.tar.gz
Requirement already satisfied: pandas in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (0.24.2)
Requirement already satisfied: click>=4.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (7.0)
Requirement already satisfied: attrs>=17 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (19.1.0)
Requirement already satisfied: cligj>=0.5 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (0.5.0)
Requirement already satisfied: six>=1.7 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (1.12.0)
Requirement already satisfied: munch in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (2.3.2)
Requirement already satisfied: click-plugins>=1.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (1.1.1)
Requirement already satisfied: numpy>=1.12.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas->geopandas) (1.15.4)
Requirement already satisfied: pytz>=2011k in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas->geopandas) (2018.7)
Requirement already satisfied: python-dateutil>=2.5.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas->geopandas) (2.7.5)
Installing collected packages: pyproj, shapely, geopandas
Running setup.py install for shapely ... done
Successfully installed geopandas-0.5.0 pyproj-2.2.1 shapely-1.6.4.post2
이번에는 성공한 것 같다.
동작 확인
QGIS를 다시 시작한 후 파이톤 콘솔을 엽니다.
실행해 보세요import geopandas
.
잘못 가져오지 않았으니 적당한 농담 파일로 읽어 보세요.>>> import geopandas
>>> geopandas.read_file('c:/work/test_pl.shp')
gid geometry
0 1845193 LINESTRING (-34287.477 -89755.997, -34283.604 ...
1 1847175 LINESTRING (-30711.356 -90881.484, -30712.981 ...
2 1847176 LINESTRING (-33770.897 -91487.429, -33769.417 ...
3 1847177 LINESTRING (-34019.315 -87829.27899999999, -34...
・
・省略
・
13548 1661930 LINESTRING (-32960.024 -87385.46400000001, -32...
13549 1661931 LINESTRING (-36652.435 -88311.53999999999, -36...
13550 1661932 LINESTRING (-33645.849 -89185.613, -33619.816 ...
[13551 rows x 5 columns]
대박이다.
최후
이번에는 판다스를 대상으로 다른 모듈도 당연히 추가할 수 있다.
(GeoPandas 실패)
그리고 이 플러그인도 판다스를 사용할 수 있다.
개인적으로 QGIS 플러그인 등 연산 성능이 필요한 상황에서 만만치 않은 효과가 있다고 본다.
그러나 사용할 수 있도록 상술한 절차가 필요하기 때문에 공개 플러그인에는 적용되지 않는다.
만약 나에게 좋은 방법이 있다면 나는 매우 기쁠 것이다.
본 보도의 허가증
이 글은 창의 공통 모델 4.0 국제 허가증 표시의 아래에서 제공한 것이다.
Reference
이 문제에 관하여(QGIS는 Pandas와 GeoPandas를 사용할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ozo360/items/87334983e7e9b95d50e9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
C:\Windows\System32>python -m pip install geopandas
Collecting geopandas
Downloading https://files.pythonhosted.org/packages/74/42/f4b147fc7920998a42046d0c2e65e61000bc5d104f1f8aec719612cb2fc8/geopandas-0.5.0-py2.py3-none-any.whl (893kB)
100% |████████████████████████████████| 901kB 6.5MB/s
Requirement already satisfied: pyproj in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (1.9.6)
Requirement already satisfied: shapely in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (1.6.4.post2)
Requirement already satisfied: pandas in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (0.24.2)
Collecting fiona (from geopandas)
Downloading https://files.pythonhosted.org/packages/41/9d/63696e7b1de42aad294d4781199a408bec593d8fdb80a2b4a788c911a33b/Fiona-1.8.6.tar.gz (1.7MB)
100% |████████████████████████████████| 1.7MB 3.1MB/s
Complete output from command python setup.py egg_info:
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\hoge\AppData\Local\Temp\pip-install-p0dr78y4\fiona\
>>> import osgeo
>>> osgeo.gdal.VersionInfo("RELEASE_NAME")
'2.3.2'
C:\Windows\System32>python -m pip install c:/work/Fiona-1.8.6-cp37-cp37m-win_amd64.whl
Processing c:/work/fiona-1.8.6-cp37-cp37m-win_amd64.whl
Collecting click>=4.0 (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)
|████████████████████████████████| 81kB 2.6MB/s
Collecting munch (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/68/f4/260ec98ea840757a0da09e0ed8135333d59b8dfebe9752a365b04857660a/munch-2.3.2.tar.gz
Collecting click-plugins>=1.0 (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/e9/da/824b92d9942f4e472702488857914bdd50f73021efea15b4cad9aca8ecef/click_plugins-1.1.1-py2.py3-none-any.wh
l
Collecting cligj>=0.5 (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/e4/be/30a58b4b0733850280d01f8bd132591b4668ed5c7046761098d665ac2174/cligj-0.5.0-py3-none-any.whl
Collecting attrs>=17 (from Fiona==1.8.6)
Downloading https://files.pythonhosted.org/packages/23/96/d828354fa2dbdf216eaa7b7de0db692f12c234f7ef888cc14980ef40d1d2/attrs-19.1.0-py2.py3-none-any.whl
Requirement already satisfied: six>=1.7 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from Fiona==1.8.6) (1.12.0)
Installing collected packages: click, munch, click-plugins, cligj, attrs, Fiona
Running setup.py install for munch ... done
Successfully installed Fiona-1.8.6 attrs-19.1.0 click-7.0 click-plugins-1.1.1 cligj-0.5.0 munch-2.3.2
C:\Windows\System32>python -m pip install geopandas
Collecting geopandas
Using cached https://files.pythonhosted.org/packages/74/42/f4b147fc7920998a42046d0c2e65e61000bc5d104f1f8aec719612cb2fc8/geopandas-0.5.0-py2.py3-none-any.whl
Collecting pyproj (from geopandas)
Using cached https://files.pythonhosted.org/packages/ce/36/2d8f1fe6bf32eebc0e880d9f27b394b97dd5119303986de691d7e91e1a51/pyproj-2.2.1-cp37-cp37m-win_amd64.whl
Requirement already satisfied: fiona in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (1.8.6)
Collecting shapely (from geopandas)
Using cached https://files.pythonhosted.org/packages/a2/fb/7a7af9ef7a35d16fa23b127abee272cfc483ca89029b73e92e93cdf36e6b/Shapely-1.6.4.post2.tar.gz
Requirement already satisfied: pandas in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from geopandas) (0.24.2)
Requirement already satisfied: click>=4.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (7.0)
Requirement already satisfied: attrs>=17 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (19.1.0)
Requirement already satisfied: cligj>=0.5 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (0.5.0)
Requirement already satisfied: six>=1.7 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (1.12.0)
Requirement already satisfied: munch in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (2.3.2)
Requirement already satisfied: click-plugins>=1.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from fiona->geopandas) (1.1.1)
Requirement already satisfied: numpy>=1.12.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas->geopandas) (1.15.4)
Requirement already satisfied: pytz>=2011k in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas->geopandas) (2018.7)
Requirement already satisfied: python-dateutil>=2.5.0 in c:\progra~1\qgis3~1.4\apps\python37\lib\site-packages (from pandas->geopandas) (2.7.5)
Installing collected packages: pyproj, shapely, geopandas
Running setup.py install for shapely ... done
Successfully installed geopandas-0.5.0 pyproj-2.2.1 shapely-1.6.4.post2
>>> import geopandas
>>> geopandas.read_file('c:/work/test_pl.shp')
gid geometry
0 1845193 LINESTRING (-34287.477 -89755.997, -34283.604 ...
1 1847175 LINESTRING (-30711.356 -90881.484, -30712.981 ...
2 1847176 LINESTRING (-33770.897 -91487.429, -33769.417 ...
3 1847177 LINESTRING (-34019.315 -87829.27899999999, -34...
・
・省略
・
13548 1661930 LINESTRING (-32960.024 -87385.46400000001, -32...
13549 1661931 LINESTRING (-36652.435 -88311.53999999999, -36...
13550 1661932 LINESTRING (-33645.849 -89185.613, -33619.816 ...
[13551 rows x 5 columns]
이번에는 판다스를 대상으로 다른 모듈도 당연히 추가할 수 있다.
(GeoPandas 실패)
그리고 이 플러그인도 판다스를 사용할 수 있다.
개인적으로 QGIS 플러그인 등 연산 성능이 필요한 상황에서 만만치 않은 효과가 있다고 본다.
그러나 사용할 수 있도록 상술한 절차가 필요하기 때문에 공개 플러그인에는 적용되지 않는다.
만약 나에게 좋은 방법이 있다면 나는 매우 기쁠 것이다.
본 보도의 허가증
이 글은 창의 공통 모델 4.0 국제 허가증 표시의 아래에서 제공한 것이다.
Reference
이 문제에 관하여(QGIS는 Pandas와 GeoPandas를 사용할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ozo360/items/87334983e7e9b95d50e9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(QGIS는 Pandas와 GeoPandas를 사용할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ozo360/items/87334983e7e9b95d50e9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)