?? conv.c
字號:
//#include "coord.h"
#include "conv.h"
#include <math.h>
double relfa(double r){
return log(tan(r*0.0087266 + 0.7853981)); // 0.7853981為45弧度
//0.0087266我Pi/360度
}
//經緯度轉換直角坐標
void ConvToXY(double jing, double wei, long *cx, long *cy)
{
*cx = (long)((m_fMaxCX * (jing-m_fMapjw[0]))/(m_fMapjw[1]-m_fMapjw[0])+0.5);
*cy = (long)((m_fMaxCY * (relfa(m_fMapjw[2])-relfa(wei)))/(relfa(m_fMapjw[2]) - relfa(m_fMapjw[3]))+0.5);
}
//多經緯度轉換直角坐標
void ConvToXYs(POINTSCR *points, POINTDB *pointsdb,int n){
int i;
for(i=0;i<n;i++){
ConvToXY((*pointsdb).x, (*pointsdb).y, &((*points).x), &((*points).y));
pointsdb++;points++;
}
}
//轉換成屏幕坐標
void XYsToDPs(POINTSCR *points,int n){
int i;
for(i=0;i<n;i++){
(*points).x-=offsetx;
(*points).y-=offsety;
points++;
}
}
void XYsToDP(long *cx, long *cy){
(*cx)-=offsetx;
(*cy)-=offsety;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -