图15 DEM编辑前 图16 DEM编辑后
6)TIN网处理
图17 编辑前 图18 编辑后
14
图19 编辑后
7)质量检查
1、设置质检方案—制作方案—加入工作方案
图20 检查报告 图21 方案设置
2、新建检查任务,指定目录到数据所在目录。然后自动检查错误并查看错误,然后对矢量图进行修改
15
图22 编辑前 图23 编辑后
图24 编辑前 图25 编辑后
16
四、编程内容
1、单像空间后方交会
#include#include \
HFJHDialog::HFJHDialog(QWidget *parent) : QDialog(parent),
ui(new Ui::HFJHDialog) {
ui->setupUi( char *title= this\空间后方交会); \; QString qtitle = QString::fromLocal8Bit(title); setWindowTitle(qtitle); ui->textBrowser->setText(\); fx=4547.99665; //焦距 单位pixel fy=4547.87373; x0=47.48571; //内方位元素 pixel y0=12.02756; k1=-5.00793e-009; k2=1.83462e-016; //畸变参数
p1=-2.24419e-008; p2=1.76820e-008; Xs0=4300.0; Ys0=-150.0; Zs0=-300.0; //初始值
phi0=0.0; omega0=0.0; kappa0=0.0; ////单位单位mmrad }
HFJHDialog::~HFJHDialog() {
}
delete ui; //读取像点坐标
int{
HFJHDialog::readxy(string path) int index = 1;
ifstream fil; //path =\我的课程\\\\数字摄影测量影像数据\\\\后方交会\\\\像点坐标.txt\ fil.open(path); { if(!fil) char *log = \打开像点文件失败<<<\; ui->textBrowser->append(QString::fromLocal8Bit(log)); }
return -1; xy tmp;
{
while(!fil.eof()) fil>>tmp.index>>tmp.x>>tmp.y; y:%3\ ).arg(index).arg(tmp.x).arg(tmp.y)); ui->textBrowser->append(QString(\ pic.push_back(tmp); index++;
}
fil.close(); }
return 0; //int读取物方点坐标
{
HFJHDialog::readXYZ(string path) int index = 1;
17
x:%2
ifstream fil; fil.open(path); { if(!fil) char *log = \打开控制点文件失败<<<\; ui->textBrowser->append(QString::fromLocal8Bit(log)); }
return -1; XYZ tmp;
string head;
for(int i = 0; i < 4; ++i) {
fil>>head; }
{
while(!fil.eof()) fil>>tmp.index>>tmp.X>>tmp.Y>>tmp.Z; Z:%3\ ui->textBrowser->append(QString(\ X:%2 index++;
).arg(index).arg(tmp.X).arg(tmp.Y).arg(tmp.Z)); obj.push_back(tmp); }
fil.close(); }
return 0; //读取相机参数文件
int{ HFJHDialog::readcamera(string path) int index = 1;
ifstream fil; //path =\我的课程\\\\数字摄影测量影像数据\\\\后方交会\\\\像点坐标.txt\ fil.open(path); { if(!fil) char *log = \打开相机文件失败<<<\; ui->textBrowser->append(QString::fromLocal8Bit(log)); }
return -1; fil.close(); }
return 0; //void空间后方交会算法主体函数 {
HFJHDialog::HFJH() // double结果值
double Xs=Xs0, phi=phi0, Ys=Ys0, Zs=Zs0; omega=omega0, kappa=kappa0; //定义 //定义 double x, y, X, Y, Z; //定义X,Y,Z doubledouble a1,a2,a3,b1,b2,b3,c1,c2,c3; X_,Y_,Z_;
double double a11,a12,a13,a14,a15,a16; double a21,a22,a23,a24,a25,a26; lx,ly;
cv::Mat A, L, dX; double r_r, dx, dy;
//迭代终止阈值
//, A0, L0, A1; double e = 1.0 / 206265; //double单位权中误差 m0;
int //double求取主点坐标 index = 1; W = 5344.0;
x0 = W / 2 + x0; double H = 4008.0; y0 = H / 2 - y0; {
do for (size_t i = 0; i != pic.size(); ++i) {
18
Y:%3