Problems with WGS84.

Started by Visitor7, November 07, 2013, 09:51:31 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Visitor7

Datum "WGS84" in OruxMaps works correctly only with maps in  "Google Sphere" coordinate system. With maps in "WGS84" coordinate system it is not working correctly. How can I bind the map in "WGS84" coordinate system(without picture transformation)?

If it is not possible now, add real "WGS84" datum(and real "WGS84" ellipsoid), please. For example, with name "TrueWGS84" or "tWGS84".

orux

#1
Quote from: "Visitor7"Datum "WGS84" in OruxMaps works correctly only with maps in  "Google Sphere" coordinate system. With maps in "WGS84" coordinate system it is not working correctly. How can I bind the map in "WGS84" coordinate system(without picture transformation)?

If it is not possible now, add real "WGS84" datum(and real "WGS84" ellipsoid), please. For example, with name "TrueWGS84" or "tWGS84".




Hi,



Explain your problem.



If you want to use wgs84 coordinates with an online map that uses an ellipsoidal coordinate system, you have to play with this attibute:

<projection>MERCATORESFERICA</projection>

or

<projection>MERCATORELIPSOIDAL</projection>



If you are playing with offline maps, all the projections are using an ellipsoidal Earth.



orux

Visitor7

#2
Quote from: "orux"If you are playing with offline maps, all the projections are using an ellipsoidal Earth.


Sorry, I did not understand.



I am creating "Google Map" or "OSM Map" OruxSQLiteDB (all world, level 7).

EPSG:3785?

Projection: Mercator, Datum: http://www.globalmapper.com/helpv11/datum_list.htm">Google Sphere(EPSG:?) (ellipsoid radius A = radius B = 6378137 (EPSG:7059?)).



I am creating otrk2 file:


<?xml version="1.0" encoding="UTF-8"?>
<OruxTracker xmlns="http://oruxtracker.com/app/res/calibration"
 versionCode="3.0">
<MapCalibration layers="true" layerLevel="0">
<MapName><![CDATA[OSM_Map_07]]></MapName>
<OruxTracker xmlns="http://oruxtracker.com/app/res/calibration"
 versionCode="2.1">
<MapCalibration layers="false" layerLevel="7">
<MapName><![CDATA[OSM_Map_07 07]]></MapName>
<MapChunks xMax="64" yMax="64" datum="WGS84" projection="Mercator" img_height="512" img_width="512" file_name="OSM_Map_07 07" />
<MapDimensions height="32768" width="32768" />
<MapBounds minLat="-85.05112877980659" maxLat="85.05112877980659" minLon="-180.0" maxLon="180.0" />
<CalibrationPoints>
<CalibrationPoint corner="TL" lon="-180.000000" lat="85.051129" />
<CalibrationPoint corner="BR" lon="180.000000" lat="-85.051129" />
<CalibrationPoint corner="TR" lon="180.000000" lat="85.051129" />
<CalibrationPoint corner="BL" lon="-180.000000" lat="-85.051129" />
</CalibrationPoints>
</MapCalibration>
</OruxTracker>
</MapCalibration>
</OruxTracker>


This map works fine.



I am creating http://maps.yandex.ru/?ll=-3.914769%2C40.331124&spn=14.062500%2C7.296741&z=7&l=sat">"Yandex Map" OruxSQLiteDB (all world, level 7).

EPSG:3395

Projection: Mercator, http://en.wikipedia.org/wiki/World_Geodetic_System#Main_parameters">Datum: WGS 84 (EPSG:6326)(ellipsoid radius A = 6378137, radius B = 6356752 (EPSG:7030)).



I am creating otrk2 file:


<?xml version="1.0" encoding="UTF-8"?>
<OruxTracker xmlns="http://oruxtracker.com/app/res/calibration"
 versionCode="3.0">
<MapCalibration layers="true" layerLevel="0">
<MapName><![CDATA[Ya_map_7]]></MapName>
<OruxTracker xmlns="http://oruxtracker.com/app/res/calibration"
 versionCode="2.1">
<MapCalibration layers="false" layerLevel="7">
<MapName><![CDATA[Ya_map_7 07]]></MapName>
<MapChunks xMax="64" yMax="64" datum="WGS 1984:Global Definition@WGS 1984:Global Definition" projection="Mercator,0.0" img_height="512" img_width="512" file_name="Ya_map_7 07" />
<MapDimensions height="32768" width="32768" />
<MapBounds minLat="-85.0840595326932" maxLat="85.0840595326932" minLon="-180.0" maxLon="180.0" />
<CalibrationPoints>
<CalibrationPoint corner="TL" lon="-180.000000" lat="85.0840595326932" />
<CalibrationPoint corner="BR" lon="180.000000" lat="-85.0840595326932" />
<CalibrationPoint corner="TR" lon="180.000000" lat="85.0840595326932" />
<CalibrationPoint corner="BL" lon="-180.000000" lat="-85.0840595326932" />
</CalibrationPoints>
</MapCalibration>
</OruxTracker>
</MapCalibration>
</OruxTracker>


http://yadi.sk/d/chERzAxQCRMVa">This map works not correctly. There has been a shift of coordinates on the axis North-South, about 20 kilometers. What am I doing wrong?

Visitor7

#3
So what parameters should I use for mercator/wgs84 maps in otrk?

With datum = "WGS84" or datum = "WGS 1984: Global Definition" http://alastaira.wordpress.com/2011/01/23/the-google-maps-bing-maps-spherical-mercator-projection/">I have similar problems, just the opposite.

orux

#4
Quote from: "Visitor7"So what parameters should I use for mercator/wgs84 maps in otrk?

With datum = "WGS84" or datum = "WGS 1984: Global Definition" http://alastaira.wordpress.com/2011/01/23/the-google-maps-bing-maps-spherical-mercator-projection/">I have similar problems, just the opposite.


Hi, I think the key are the latitude limits;



try using the same than with espheric mercator:



MAX_LAT = 85.05112877980659;

MIN_LAT = -85.05112877980659;



refresh map list after updating the map calibration files.

Visitor7

#5
Quote from: "orux"try using the same than with espheric mercator
I tried it, does not help. I think the key in another coordinate system.



Perhaps your program is doing all internal calculations in WGS84.

Your datum "WGS 1984: Global Definition" transforms the coordinates from GoogleSphere to WGS84. For WGS84 maps needed a datum, which translates coordinates from WGS84 to WGS84 (or does nothing).



Perhaps your program is doing all internal calculations in GoogleSphere.

Then your datum "WGS 1984: Global Definition" transforms the coordinates from GoogleSphere to GoogleSphere (or does nothing). For WGS84 maps needed a datum, which translates coordinates from WGS84 to GoogleSphere.



With the creation of Yandex offline maps from online maps in the application, there are the same problems.

The larger map area, the larger nonlinear shift can be found. On small maps, especially with size of a couple of tiles, an error can be ignored.



edited

Visitor7

#6
In SAS.Planet I use EPSG:3785 for OSM(Google) and EPSG:3395 for Yandex.

In GlobalMapper I use MercatorGoogleSphere for OSM(Google) and MercatorWGS84 for Yandex.

One datum can not be used for both at once, for OSM (Google) and Yandex.



SasPlanet and Globalmapper use WGS84 for internal calculations. Therefore, WGS84 datum in Globalmapper is the datum "from WGS84 to WGS84". GoogleSphere datum (Google Maps (Sphere radius ...)) is the datum "from GoogleSphere to WGS84".

Visitor7

#7
OziExplorer not support datum for OSM(Google) maps. Yandex maps in ozi can view using the WGS 84 datum.

orux

#8
Quote from: "Visitor7"OziExplorer not support datum for OSM(Google) maps. Yandex maps in ozi can view using the WGS 84 datum.


You're right, I thought it was the other way around, but oruxmaps you are using a spherical mercator projection.



In the next version I will add a mercator projection for supporting ellipsoids, like yandex maps and other sources.



It is strange that it is the first time this arises!



orux

orux

#9
Quote from: "Visitor7"OziExplorer not support datum for OSM(Google) maps. Yandex maps in ozi can view using the WGS 84 datum.




Hi, try with last beta, added support to ellipsoidal mercator maps, like yandex.



If you download a map using that beta, should work fine before.



If you use last version of OruxMapsDesktop to convert those maps, select 'Mercator Ellipsoidal' projection.





orux

Visitor7

#10
Quote from: "orux"'Mercator Ellipsoidal' projection
Thank you very very much.

I create Yandex map with OruxMapsDesktop, it works fine.

I create multi-zoom world Yandex map(levels 00-09) with Mobac and edit otrk(projection, coordinates). Map works fine too.

Visitor7

#11
I'm a little confused.

Is the "Mercator" special projection, which besides the projection includes datum "from GoogleSphere to WGS84" and can only be used in conjunction with datum "WGS84"/"WGS 1984:Global Definition"(for mercator/googlesphere maps)?

Is  the "Ellipsoidal Mercator" universal  projection, that will work correctly with any datum?