Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
colorEagleStdio
qplanetosm
提交
5a3ad8d6
qplanetosm
项目概览
colorEagleStdio
/
qplanetosm
通知
118
Star
10
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
qplanetosm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
5a3ad8d6
编写于
5月 22, 2015
作者:
丁劲犇
😸
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
turn gb2312 2 utf8
上级
d776b3a2
变更
19
隐藏空白更改
内联
并排
Showing
19 changed file
with
39 addition
and
39 deletion
+39
-39
qtviewer_planetosm/main.cpp
qtviewer_planetosm/main.cpp
+1
-1
qtviewer_planetosm/osm_frame_widget.cpp
qtviewer_planetosm/osm_frame_widget.cpp
+6
-6
qtviewer_planetosm/osm_frame_widget.h
qtviewer_planetosm/osm_frame_widget.h
+1
-1
qtviewer_planetosm/osmtiles/cProjectionMercator.cpp
qtviewer_planetosm/osmtiles/cProjectionMercator.cpp
+1
-1
qtviewer_planetosm/osmtiles/cProjectionMercator.h
qtviewer_planetosm/osmtiles/cProjectionMercator.h
+1
-1
qtviewer_planetosm/osmtiles/layer_browser.cpp
qtviewer_planetosm/osmtiles/layer_browser.cpp
+1
-1
qtviewer_planetosm/osmtiles/layer_browser.h
qtviewer_planetosm/osmtiles/layer_browser.h
+1
-1
qtviewer_planetosm/osmtiles/layer_interface.h
qtviewer_planetosm/osmtiles/layer_interface.h
+1
-1
qtviewer_planetosm/osmtiles/layer_tiles.cpp
qtviewer_planetosm/osmtiles/layer_tiles.cpp
+1
-1
qtviewer_planetosm/osmtiles/layer_tiles.h
qtviewer_planetosm/osmtiles/layer_tiles.h
+1
-1
qtviewer_planetosm/osmtiles/layer_tiles_page.cpp
qtviewer_planetosm/osmtiles/layer_tiles_page.cpp
+1
-1
qtviewer_planetosm/osmtiles/layer_tiles_page.h
qtviewer_planetosm/osmtiles/layer_tiles_page.h
+1
-1
qtviewer_planetosm/osmtiles/tilesviewer.cpp
qtviewer_planetosm/osmtiles/tilesviewer.cpp
+13
-13
qtviewer_planetosm/osmtiles/tilesviewer.h
qtviewer_planetosm/osmtiles/tilesviewer.h
+1
-1
qtviewer_planetosm/osmtiles/urlDownloader.cpp
qtviewer_planetosm/osmtiles/urlDownloader.cpp
+1
-1
qtviewer_planetosm/osmtiles/urlDownloader.h
qtviewer_planetosm/osmtiles/urlDownloader.h
+1
-1
qtviewer_planetosm/osmtiles/viewer_interface.h
qtviewer_planetosm/osmtiles/viewer_interface.h
+1
-1
qtvplugin_grid/qtvplugin_grid.cpp
qtvplugin_grid/qtvplugin_grid.cpp
+4
-4
qtvplugin_grid/qtvplugin_grid.h
qtvplugin_grid/qtvplugin_grid.h
+1
-1
未找到文件。
qtviewer_planetosm/main.cpp
浏览文件 @
5a3ad8d6
#include "osm_frame_widget.h"
#
include
"osm_frame_widget.h"
#include <QApplication>
int
main
(
int
argc
,
char
*
argv
[])
...
...
qtviewer_planetosm/osm_frame_widget.cpp
浏览文件 @
5a3ad8d6
#include "osm_frame_widget.h"
#
include
"osm_frame_widget.h"
#include "ui_osm_frame_widget.h"
#include <QDir>
#include <QtPlugin>
...
...
@@ -88,15 +88,15 @@ void osm_frame_widget::EnumPlugins()
QStringList
filters
;
filters
<<
"*.dll"
;
pluginsDir
.
setNameFilters
(
filters
);
//
查找文件
//
查找文件
foreach
(
QString
fileName
,
pluginsDir
.
entryList
(
QDir
::
Files
))
{
QPluginLoader
pluginLoader
(
pluginsDir
.
absoluteFilePath
(
fileName
));
QObject
*
plugin
=
pluginLoader
.
instance
();
//
尝试调入
Plugin
QObject
*
plugin
=
pluginLoader
.
instance
();
//
尝试调入Pl
ugin
if
(
plugin
)
{
layer_interface
*
pPlugin
=
qobject_cast
<
layer_interface
*>
(
plugin
);
//
动态类型转换
if
(
pPlugin
)
//
具有这个接口
layer_interface
*
pPlugin
=
qobject_cast
<
layer_interface
*>
(
plugin
);
//
动态类型转换
if
(
pPlugin
)
//
具有这个接口
{
//
加入图层
//
加入图层
AppendLayer
(
pPlugin
);
}
}
...
...
qtviewer_planetosm/osm_frame_widget.h
浏览文件 @
5a3ad8d6
#ifndef OSM_FRAME_WIDGET_H
#
ifndef
OSM_FRAME_WIDGET_H
#define OSM_FRAME_WIDGET_H
#include <QWidget>
...
...
qtviewer_planetosm/osmtiles/cProjectionMercator.cpp
浏览文件 @
5a3ad8d6
#include "cProjectionMercator.h"
#
include
"cProjectionMercator.h"
const
double
cProjectionMercator
::
R
=
6378137
;
const
double
cProjectionMercator
::
pi
=
3.1415926535897932384626433832795
;
\ No newline at end of file
qtviewer_planetosm/osmtiles/cProjectionMercator.h
浏览文件 @
5a3ad8d6
#pragma once
#
pragma
once
#include <math.h>
class
cProjectionMercator
...
...
qtviewer_planetosm/osmtiles/layer_browser.cpp
浏览文件 @
5a3ad8d6
#include <QThread>
#
include
<
QThread
>
#include <QCoreApplication>
#include <QPainter>
#include <QSettings>
...
...
qtviewer_planetosm/osmtiles/layer_browser.h
浏览文件 @
5a3ad8d6
#ifndef LAYER_BROSWER_H
#
ifndef
LAYER_BROSWER_H
#define LAYER_BROSWER_H
#include <QObject>
...
...
qtviewer_planetosm/osmtiles/layer_interface.h
浏览文件 @
5a3ad8d6
#ifndef LAYER_BASE_H
#
ifndef
LAYER_BASE_H
#define LAYER_BASE_H
#include <QObject>
#include <QWidget>
...
...
qtviewer_planetosm/osmtiles/layer_tiles.cpp
浏览文件 @
5a3ad8d6
#include <QThread>
#
include
<
QThread
>
#include <QCoreApplication>
#include <QPainter>
#include <QSettings>
...
...
qtviewer_planetosm/osmtiles/layer_tiles.h
浏览文件 @
5a3ad8d6
#ifndef LAYER_TILES_H
#
ifndef
LAYER_TILES_H
#define LAYER_TILES_H
#include <QObject>
...
...
qtviewer_planetosm/osmtiles/layer_tiles_page.cpp
浏览文件 @
5a3ad8d6
#include "layer_tiles_page.h"
#
include
"layer_tiles_page.h"
#include "ui_layer_tiles_page.h"
#include "layer_tiles.h"
#include <QSettings>
...
...
qtviewer_planetosm/osmtiles/layer_tiles_page.h
浏览文件 @
5a3ad8d6
#ifndef LAYER_TILES_PAGE_H
#
ifndef
LAYER_TILES_PAGE_H
#define LAYER_TILES_PAGE_H
#include <QWidget>
...
...
qtviewer_planetosm/osmtiles/tilesviewer.cpp
浏览文件 @
5a3ad8d6
#include<QGraphicsView>
#
include
<
QGraphicsView
>
#include "tilesviewer.h"
#include <QPainter>
#include <QEvent>
...
...
@@ -307,11 +307,11 @@ void tilesviewer::DragView(int nOffsetX,int nOffsetY)
//set center LLA
void
tilesviewer
::
setCenterLLA
(
double
lat
,
double
lon
)
{
//
到墨卡托投影
//
到墨卡托投影
double
dMx
=
cProjectionMercator
(
lat
,
lon
).
ToMercator
().
m_x
;
double
dMy
=
cProjectionMercator
(
lat
,
lon
).
ToMercator
().
m_y
;
//
计算巨幅图片内的百分比
//
计算巨幅图片内的百分比
double
dCtX
=
dMx
/
(
cProjectionMercator
::
pi
*
cProjectionMercator
::
R
*
2
);
double
dCtY
=
-
dMy
/
(
cProjectionMercator
::
pi
*
cProjectionMercator
::
R
*
2
);
...
...
@@ -342,11 +342,11 @@ void tilesviewer::setCenterLLA(double lat, double lon)
//set center LLA, not emit centerChanged
void
tilesviewer
::
setBrCenterLLA
(
double
lat
,
double
lon
)
{
//
到墨卡托投影
//
到墨卡托投影
double
dMx
=
cProjectionMercator
(
lat
,
lon
).
ToMercator
().
m_x
;
double
dMy
=
cProjectionMercator
(
lat
,
lon
).
ToMercator
().
m_y
;
//
计算巨幅图片内的百分比
//
计算巨幅图片内的百分比
double
dCtX
=
dMx
/
(
cProjectionMercator
::
pi
*
cProjectionMercator
::
R
*
2
);
double
dCtY
=
-
dMy
/
(
cProjectionMercator
::
pi
*
cProjectionMercator
::
R
*
2
);
...
...
@@ -378,26 +378,26 @@ bool tilesviewer::oTVP_LLA2DP(double lat,double lon,qint32 * pX,qint32 *pY)
if
(
!
pX
||!
pY
)
return
false
;
//
到墨卡托投影
//
到墨卡托投影
double
dMx
=
cProjectionMercator
(
lat
,
lon
).
ToMercator
().
m_x
;
double
dMy
=
cProjectionMercator
(
lat
,
lon
).
ToMercator
().
m_y
;
//
计算巨幅图片内的百分比
//
计算巨幅图片内的百分比
double
dperx
=
dMx
/
(
cProjectionMercator
::
pi
*
cProjectionMercator
::
R
*
2
);
double
dpery
=
-
dMy
/
(
cProjectionMercator
::
pi
*
cProjectionMercator
::
R
*
2
);
double
dCurrImgSize
=
pow
(
2.0
,
m_nLevel
)
*
256
;
//
计算要转换的点的巨幅图像坐标
//
计算要转换的点的巨幅图像坐标
double
dTarX
=
dperx
*
dCurrImgSize
+
dCurrImgSize
/
2
;
double
dTarY
=
dpery
*
dCurrImgSize
+
dCurrImgSize
/
2
;
//
计算当前中心点的巨幅图像坐标
//
计算当前中心点的巨幅图像坐标
double
dCurrX
=
dCurrImgSize
*
m_dCenterX
+
dCurrImgSize
/
2
;
double
dCurrY
=
dCurrImgSize
*
m_dCenterY
+
dCurrImgSize
/
2
;
//
计算当前中心的全局坐标
//
计算当前中心的全局坐标
double
nOffsetLT_x
=
(
dCurrX
-
width
()
/
2.0
);
double
nOffsetLT_y
=
(
dCurrY
-
height
()
/
2.0
);
//
判断是否在视点内
//
判断是否在视点内
*
pX
=
dTarX
-
nOffsetLT_x
+
.5
;
*
pY
=
dTarY
-
nOffsetLT_y
+
.5
;
...
...
@@ -411,8 +411,8 @@ bool tilesviewer::oTVP_DP2LLA(qint32 X,qint32 Y,double * plat,double * plon)
{
if
(
!
plat
||!
plon
)
return
false
;
//
显示经纬度
//
当前缩放图幅的像素数
//
显示经纬度
//
当前缩放图幅的像素数
double
dCurrImgSize
=
pow
(
2.0
,
m_nLevel
)
*
256
;
int
dx
=
X
-
(
width
()
/
2
+
.5
);
int
dy
=
Y
-
(
height
()
/
2
+
.5
);
...
...
qtviewer_planetosm/osmtiles/tilesviewer.h
浏览文件 @
5a3ad8d6
#ifndef TILESVIEWER_H
#
ifndef
TILESVIEWER_H
#define TILESVIEWER_H
#include <QWidget>
...
...
qtviewer_planetosm/osmtiles/urlDownloader.cpp
浏览文件 @
5a3ad8d6
#include "urlDownloader.h"
#
include
"urlDownloader.h"
#include <QNetworkRequest>
#include <QUrl>
#include <QDir>
...
...
qtviewer_planetosm/osmtiles/urlDownloader.h
浏览文件 @
5a3ad8d6
#ifndef URLDOWNLOADER_H
#
ifndef
URLDOWNLOADER_H
#define URLDOWNLOADER_H
#include <QObject>
#include <QVector>
...
...
qtviewer_planetosm/osmtiles/viewer_interface.h
浏览文件 @
5a3ad8d6
#ifndef VIEWER_INTERFACE_H
#
ifndef
VIEWER_INTERFACE_H
#define VIEWER_INTERFACE_H
#define OSMViewInterface_iid "org.goldenhawkingStudio.OSMViewer_iid.ViewerInterface"
class
viewer_interface
{
...
...
qtvplugin_grid/qtvplugin_grid.cpp
浏览文件 @
5a3ad8d6
#include "qtvplugin_grid.h"
#
include
"qtvplugin_grid.h"
#include "ui_qtvplugin_grid.h"
#include <QPainter>
#include <QBrush>
...
...
@@ -46,7 +46,7 @@ void qtvplugin_grid::cb_paintEvent( QPainter * pImage )
if
(
!
m_pVi
||
m_bVisible
==
false
)
return
;
QRect
rect
=
m_pVi
->
windowRect
();
//
首先确定当前视点的L
LA
//
首先确定当前视点的LLA
double
lat_top
,
lon_left
;
double
lat_bottom
,
lon_right
;
m_pVi
->
oTVP_DP2LLA
(
...
...
@@ -92,7 +92,7 @@ void qtvplugin_grid::cb_paintEvent( QPainter * pImage )
if
(
false
==
m_pVi
->
oTVP_LLA2DP
(
lat_bottom
,
lon
,
&
DP_right
,
&
DP_bottom
))
continue
;
pImage
->
drawLine
(
DP_left
,
DP_top
,
DP_right
,
DP_bottom
);
//
回环
//
回环
int
nLon
=
lon
;
while
(
nLon
<-
180
)
nLon
+=
360
;
...
...
@@ -129,7 +129,7 @@ void qtvplugin_grid::cb_paintEvent( QPainter * pImage )
if
(
false
==
m_pVi
->
oTVP_LLA2DP
(
lat_bottom
,
lon
,
&
DP_right
,
&
DP_bottom
))
continue
;
pImage
->
drawLine
(
DP_left
,
DP_top
,
DP_right
,
DP_bottom
);
//
回环
//
回环
float
dLon
=
lon
;
while
(
dLon
<-
180
)
dLon
+=
360
;
...
...
qtvplugin_grid/qtvplugin_grid.h
浏览文件 @
5a3ad8d6
#ifndef QTVPLUGIN_GRID_H
#
ifndef
QTVPLUGIN_GRID_H
#define QTVPLUGIN_GRID_H
#include <QWidget>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录