11 Kasım 2015 Çarşamba

Proj4

Giriş
Bu kütüphaneyi kullanmak için şu include gerekir.
#include <proj_api.h>
Metodlar
İki tane temel metod sunar. Bunlar pj_init() ve pj_transform. GPS koordinatından, UTM koordinatina şöyle çeviririz.
#include <proj_api.h>
#include <stdio.h>
main(int argc, char **argv) {
  projPJ pj_latlong, pj_utm;
  double y = 34.8;
  double x = 138.4;

  if (!(pj_latlong = pj_init_plus("+proj=longlat +datum=WGS84")) ){
    ...
  }
  if (!(pj_utm = pj_init_plus("+proj=utm +zone=54 +ellps=WGS84")) ){
    ...
  }

  x *= DEG_TO_RAD;
  y *= DEG_TO_RAD;
  int p = pj_transform(pj_latlong, pj_utm, 1, 1, &x, &y, NULL );
  printf("Error code: %d\nError message: %s\n", p, pj_strerrno(p));
  printf("%.2fN\t%.2fE\n", x, y);
}
pj_transform
Metodun imzası şöyle.
int pj_transform(void* src, void* dst, long point_count, int point_offset,
                      double* x, double* y, double* z);
pj_transform'un ilk parametresi kaynak koordinat sistemi. İkinci parametresi ise hedef koordinat sistemi. Üç ve dördünce parametrelerin 1 tane nokta olduğu için 1. x ve y ise kaynak koordinat sistemindeki koordinatlar (radyan olarak). z koordinatı olmadığı için null. Çağrı başarılı ise x ve y yeni değerleri alırlar.

pj_init_plus
Metodun imzası şöyle
void* pj_init_plus(string m);
pj_inv
Metodun imzası şöyle
projUV pj_inv(projUV px, void* py);
pj_free
Metodun imzası şöyle
void pj_free(void* p);






Hiç yorum yok:

Yorum Gönder