-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathcommon.cpp
67 lines (52 loc) · 1.89 KB
/
common.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include "common.h"
#include <QMessageBox>
#include <fstream>
void messageBox(QString msg)
{
QMessageBox msgBox;
msgBox.setText(msg);
msgBox.exec();
}
void writeJgw(int x,int y,int level,QString filepath)
{
/*** Getting longitude and latitude corresponding x,y,level ***/
double longitude,latitude;
QString longStr,latStr;
longitude = CalcFromXYtoLongLat(x,level); latitude = CalcFromXYtoLongLat(y+1,level);
longStr.setNum(longitude,'f',16); latStr.setNum(latitude,'f',16);
/*** Getting additional informations about jgw file ***/
QString longStepStr,latStepStr,zeroStr;
double longStep,latStep;
longStep = (CalcFromXYtoLongLat(x+1,level) - longitude)/JPG_IMAGE_SIZE;
latStep = -longStep;
longStepStr.setNum(longStep,'f',16); latStepStr.setNum(latStep,'f',16);
zeroStr.setNum(0.0f,'f',16);
QByteArray fnameArray = filepath.toAscii();
const char *fnamedata = fnameArray.constData();
std::fstream fp;
fp.open(fnamedata,std::ios::out);
if (!fp.good()) return;
const char enter = (char)10;
QByteArray longArray = longStr.toAscii();
const char *longdata = longArray.constData();
QByteArray latArray = latStr.toAscii();
const char *latdata = latArray.constData();
QByteArray longStepArray = longStepStr.toAscii();
const char *longStepdata = longStepArray.constData();
QByteArray latStepArray = latStepStr.toAscii();
const char *latStepdata = latStepArray.constData();
QByteArray zeroArray = zeroStr.toAscii();
const char *zerodata = zeroArray.constData();
fp.write(longStepdata,longStepArray.length());
fp.write(&enter,1);
fp.write(zerodata,zeroArray.length());
fp.write(&enter,1);
fp.write(zerodata,zeroArray.length());
fp.write(&enter,1);
fp.write(latStepdata,latStepArray.length());
fp.write(&enter,1);
fp.write(longdata,longArray.length());
fp.write(&enter,1);
fp.write(latdata,latArray.length());
fp.close();
}