📄 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 + -