IT 이야기/default

Visual studio 에 PROJ.4 라이브러리 추가하기

Kjun25 2018. 3. 5. 22:15
반응형

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.libproj_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, 11&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