프록시 뒤에서의 Cartopy 지도 데이터 다운로드
누락된 지도 데이터를 위해 Python 다운로더를 구성하거나, 오프라인으로 그리기 전에 Cartopy가 기대하는 데이터 파일을 준비하십시오.
해안선이나 다른 참조 데이터를 아직 내려받아야 하더라도 지도 자체는 로컬에서 생성할 수 있다. Cartopy가 필요한 리소스를 찾지 못하면 표준 Downloader가 플롯이 끝나기 전에 이를 가져온다.
이 다운로더는 Python의 urllib.request.urlopen을 사용한다. 두 대상 스킴을 모두 처리하는 HTTP 포워드 프록시라면 다음과 같은 환경으로 플로팅 프로세스를 시작한다.
export http_proxy=http://proxy.example:8080
export https_proxy=http://proxy.example:8080프록시는 실제 Python 프로세스가 상속하는 환경에 있어야 한다. 이미 실행 중인 노트북 커널이나 데스크톱 IDE는 자체 실행 구성을 필요로 할 수 있다. Jupyter에서는 데이터를 가져오기 전에 선택한 커널의 시작 환경을 구성한다. HTTPS 변수에는 여전히 HTTP 프록시 URL을 넣을 수 있다. 공개 참조 데이터 다운로드는 해당 경로가 허용되고 프록시 계정이 설정되지 않은 경우 HTTP 프록시 목록의 HTTP 항목을 사용할 수 있다.
다운로드 경고나 예외에 표시된 요청 데이터 URL을 확인한다. 데이터 리소스 누락, 프록시 인증 요구, HTTPS 신뢰 실패는 각각 다른 지점에서 발생한다. 투영을 바꾼다고 다운로더의 네트워크 경로가 복구되지는 않는다.
오프라인으로 유지해야 하는 머신의 경우
필요한 데이터셋을 미리 준비하고 Cartopy가 그 루트를 가리키게 한다.
from pathlib import Path
import cartopy
cartopy.config['pre_existing_data_dir'] = Path('/srv/map-data')디렉터리에는 해당 다운로더가 기대하는 구조가 있어야 하며, 완전한 데이터셋 파일도 포함되어야 한다. 임의의 아카이브가 들어 있는 폴더가 곧 Cartopy가 찾는 리소스 경로가 되는 것은 아니다.
pre_existing_data_dir은 data_dir보다 먼저 확인된다. 두 곳 모두에 리소스가 없으면 다운로드 가능한 항목이 여전히 data_dir로의 수집을 유발할 수 있으며, 그 디렉터리는 쓰기 가능해야 한다. 따라서 기존 디렉터리를 지정하는 것은 조회 선택이지, ‘네트워크를 절대 사용하지 않는다’는 전역 스위치가 아니다.
계획한 플롯에 필요한 모든 해상도와 지형 요소를 준비한다. 이전에 성공한 거친 지도가 더 정밀한 해안선이 이미 준비되어 있다는 것을 뜻하지는 않는다. 타일 서비스와 사용자 정의 다운로더는 자체적인 가져오기 방식을 가질 수 있다.