Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
9d9276b2
Commit
9d9276b2
authored
Jul 28, 2018
by
stmoon
Browse files
create new vworld map for korea
parent
51700e7d
Changes
7
Hide whitespace changes
Inline
Side-by-side
src/QtLocationPlugin/QGCMapEngine.cpp
View file @
9d9276b2
...
...
@@ -55,7 +55,11 @@ stQGeoTileCacheQGCMapTypes kMapTypes[] = {
{
"Bing Satellite Map"
,
UrlFactory
::
BingSatellite
},
{
"Bing Hybrid Map"
,
UrlFactory
::
BingHybrid
},
{
"Statkart Terrain Map"
,
UrlFactory
::
StatkartTopo
},
{
"ENIRO Terrain Map"
,
UrlFactory
::
EniroTopo
}
{
"ENIRO Terrain Map"
,
UrlFactory
::
EniroTopo
},
{
"VWorld Satellite Map"
,
UrlFactory
::
VWorldSatellite
},
{
"VWorld Street Map"
,
UrlFactory
::
VWorldStreet
}
/*
{"MapQuest Street Map", UrlFactory::MapQuestMap},
{"MapQuest Satellite Map", UrlFactory::MapQuestSat}
...
...
@@ -508,6 +512,9 @@ QGCMapEngine::concurrentDownloads(UrlFactory::MapType type)
case
UrlFactory
::
EsriWorldSatellite
:
case
UrlFactory
::
EsriTerrain
:
case
UrlFactory
::
AirmapElevation
:
case
UrlFactory
::
VWorldMap
:
case
UrlFactory
::
VWorldSatellite
:
case
UrlFactory
::
VWorldStreet
:
return
12
;
/*
case UrlFactory::MapQuestMap:
...
...
src/QtLocationPlugin/QGCMapUrlEngine.cpp
View file @
9d9276b2
...
...
@@ -125,6 +125,12 @@ UrlFactory::getImageFormat(MapType type, const QByteArray& image)
case
AirmapElevation
:
format
=
"bin"
;
break
;
case
VWorldStreet
:
format
=
"png"
;
break
;
case
VWorldSatellite
:
format
=
"jpg"
;
break
;
default:
qWarning
(
"UrlFactory::getImageFormat() Unknown map id %d"
,
type
);
break
;
...
...
@@ -419,6 +425,43 @@ UrlFactory::_getURL(MapType type, int x, int y, int zoom, QNetworkAccessManager*
}
break
;
case
VWorldStreet
:
{
int
gap
=
zoom
-
6
;
int
x_min
=
53
*
pow
(
2
,
gap
);
int
x_max
=
55
*
pow
(
2
,
gap
)
+
(
2
*
gap
-
1
);
int
y_min
=
22
*
pow
(
2
,
gap
);
int
y_max
=
26
*
pow
(
2
,
gap
)
+
(
2
*
gap
-
1
);
if
(
zoom
>
5
&&
x
>=
x_min
&&
x
<=
x_max
&&
y
>=
y_min
&&
y
<=
y_max
)
{
return
QString
(
"http://xdworld.vworld.kr:8080/2d/Base/service/%1/%2/%3.png"
).
arg
(
zoom
).
arg
(
x
).
arg
(
y
);
}
else
{
QString
key
=
_tileXYToQuadKey
(
x
,
y
,
zoom
);
return
QString
(
"http://ecn.t%1.tiles.virtualearth.net/tiles/r%2.png?g=%3&mkt=%4"
).
arg
(
_getServerNum
(
x
,
y
,
4
)).
arg
(
key
).
arg
(
_versionBingMaps
).
arg
(
_language
);
}
}
break
;
case
VWorldSatellite
:
{
int
gap
=
zoom
-
6
;
int
x_min
=
53
*
pow
(
2
,
gap
);
int
x_max
=
55
*
pow
(
2
,
gap
)
+
(
2
*
gap
-
1
);
int
y_min
=
22
*
pow
(
2
,
gap
);
int
y_max
=
26
*
pow
(
2
,
gap
)
+
(
2
*
gap
-
1
);
if
(
zoom
>
5
&&
x
>=
x_min
&&
x
<=
x_max
&&
y
>=
y_min
&&
y
<=
y_max
)
{
return
QString
(
"http://xdworld.vworld.kr:8080/2d/Satellite/service/%1/%2/%3.jpeg"
).
arg
(
zoom
).
arg
(
x
).
arg
(
y
);
}
else
{
QString
key
=
_tileXYToQuadKey
(
x
,
y
,
zoom
);
return
QString
(
"http://ecn.t%1.tiles.virtualearth.net/tiles/a%2.jpeg?g=%3&mkt=%4"
).
arg
(
_getServerNum
(
x
,
y
,
4
)).
arg
(
key
).
arg
(
_versionBingMaps
).
arg
(
_language
);
}
}
break
;
default:
qWarning
(
"Unknown map id %d
\n
"
,
type
);
break
;
...
...
src/QtLocationPlugin/QGCMapUrlEngine.h
View file @
9d9276b2
...
...
@@ -56,6 +56,10 @@ public:
MapQuestSat = 701,
*/
VWorldMap
=
800
,
VWorldSatellite
=
801
,
VWorldStreet
=
802
,
MapboxStreets
=
6000
,
MapboxLight
=
6001
,
MapboxDark
=
6002
,
...
...
src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp
View file @
9d9276b2
...
...
@@ -133,6 +133,10 @@ QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(const QVarian
mapTypes
<<
QGCGEOMAPTYPE
(
QGeoMapType
::
SatelliteMapDay
,
"Esri Satellite Map"
,
"ArcGIS Online World Imagery"
,
true
,
false
,
UrlFactory
::
EsriWorldSatellite
);
mapTypes
<<
QGCGEOMAPTYPE
(
QGeoMapType
::
TerrainMap
,
"Esri Terrain Map"
,
"World Terrain Base"
,
false
,
false
,
UrlFactory
::
EsriTerrain
);
// VWorld
mapTypes
<<
QGCGEOMAPTYPE
(
QGeoMapType
::
SatelliteMapDay
,
"VWorld Satellite Map"
,
"VWorld Satellite Map"
,
false
,
false
,
UrlFactory
::
VWorldSatellite
);
mapTypes
<<
QGCGEOMAPTYPE
(
QGeoMapType
::
StreetMap
,
"VWorld Street Map"
,
"VWorld Street Map"
,
false
,
false
,
UrlFactory
::
VWorldStreet
);
/* See: https://wiki.openstreetmap.org/wiki/Tile_usage_policy
mapTypes << QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Open Street Map", "Open Street map", false, false, UrlFactory::OpenStreetMap);
*/
...
...
src/Settings/FlightMap.SettingsGroup.json
View file @
9d9276b2
...
...
@@ -3,8 +3,8 @@
"name"
:
"MapProvider"
,
"shortDescription"
:
"Currently selected map provider for flight maps"
,
"type"
:
"uint32"
,
"enumStrings"
:
"Bing,Google,Statkart,Mapbox,Esri,Eniro"
,
"enumValues"
:
"0,1,2,3,4,5"
,
"enumStrings"
:
"Bing,Google,Statkart,Mapbox,Esri,Eniro
,VWorld
"
,
"enumValues"
:
"0,1,2,3,4,5
,6
"
,
"defaultValue"
:
0
},
{
...
...
src/Settings/FlightMapSettings.cc
View file @
9d9276b2
...
...
@@ -119,6 +119,9 @@ void FlightMapSettings::_newMapProvider(QVariant value)
case
mapProviderEsri
:
_removeEnumValue
(
mapTypeHybrid
,
enumStrings
,
enumValues
);
break
;
case
mapProviderVWorld
:
_removeEnumValue
(
mapTypeHybrid
,
enumStrings
,
enumValues
);
_removeEnumValue
(
mapTypeTerrain
,
enumStrings
,
enumValues
);
}
metaData
->
setEnumInfo
(
enumStrings
,
enumValues
);
emit
mapTypeChanged
();
...
...
src/Settings/FlightMapSettings.h
View file @
9d9276b2
...
...
@@ -26,7 +26,8 @@ public:
mapProviderStarkart
,
mapProviderMapbox
,
mapProviderEsri
,
mapProviderEniro
mapProviderEniro
,
mapProviderVWorld
}
MapProvider_t
;
// This enum must match the json meta data
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment