PROJ.4 visual studio 2010 라이브러리 추가
PROJ.4 란?
PROJ is a standard UNIX filter function which converts geographic longitude and latitude coordinates into cartesian coordinates (and vice versa), and it is a C API for software developers to include coordinate transformation in their own software.
C API, 지리적 경위도 좌표계를 직교 좌표계로 변환 하는 UNIX 함수
1. PROJ.4_5.0.0(2018.03 기준) Releases를 다운 받는다.
https://github.com/OSGeo/proj.4/releases
본인이 원하는 파일로 선택해서 다운로드 받으면 된다.
2. 다운 받은 압축 파일 해제
3. Visual Studio 실행 -> 도구(Tool) -> Visual Studio 명령 프롬프트(C) 실행
(x86/x64) 32비트인지 64비트인지 확인 필수
4. 명령 프롬프트(Command Prompt)에서 다운 받은 proj-5.0.0의 압축 해체 폴더로 들어간다.
5. 아래의 명령어를 실행 한다.(READ ME 참조)
1 2 | nmake /f makefile.vc nmake /f makefile.vc install-all | cs |
다운 받은 Releases 파일 안에 READ ME에 나와 있음
6. 위의 두 명령어를 모두 실행하고나면 C:\PROJ 폴더가 생성되고 그안에 bin, include, lib, share, test 폴더가 생성된다.
7. 프로젝트를 우클릭하여 속성 -> VC++ 디렉터리 탭을 선택한다.
7-1. 포함 디렉터리(Include Directories)
7-2. 라이브러리 디렉터리(Library Directories)
8. 그대로 링커 탭으로 이동 -> 입력 -> 추가 종속성(Additional Dependencies)에 proj.lib와 proj_i.lib를 추가로 적어준다.
9. 예제 코드를 수행하여 라이브러리가 적용 되었는지 체크한다.
https://github.com/OSGeo/proj.4/wiki/ProjAPI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> #include <proj_api.h> void main(int argc, char **argv) { projPJ pj_merc, pj_latlong; double x, y; if (!(pj_merc = pj_init_plus("+proj=merc +ellps=clrk66 +lat_ts=33"))) exit(1); if (!(pj_latlong = pj_init_plus("+proj=latlong +ellps=clrk66"))) exit(1); while (scanf_s("%lf %lf", &x, &y) == 2) { x *= DEG_TO_RAD; y *= DEG_TO_RAD; int p = pj_transform(pj_latlong, pj_merc, 1, 1, &x, &y, NULL); printf("%.2f\t%.2f\n", x, y); } exit(0); } | cs |
완료
※유닉스/리눅스에서 빌드하는 법은 다운 받은 Releases 안에 READ ME를 참조한다.
'IT 이야기 > default' 카테고리의 다른 글
PROJ.4 API Summary (0) | 2018.03.12 |
---|---|
bash 쉘 스크립트에서 파일을 라인 단위로 입력 받기 (0) | 2018.03.12 |
유고 정보란? (0) | 2018.02.26 |
좌표계(Coordinate System) (0) | 2018.01.22 |
라즈베리파이 스크린 보정 (0) | 2017.11.16 |