How can I calibrate really large maps?
2 posters
How can I calibrate really large maps?
Hi,
I want to create some very large maps for orux (like the entire UK excluding NI). This is going to be a database in the region of 10gb and a very large number of tiles (and probably days of computing time to create the db). The problem is my maps are calibrated to OSGB36 (British National Grid), not WGS84. I can easily convert to WGS84 for points on land but not accurately for points off the coast (which all 4 corners of a box containing the UK would be). Also, conversion from OSGB36 to WGS84 isn't simple so if even if I could get accurate corners to a big box, as you moved around the country inside the that box the calibration would drift off. Doing this for small maps works fine of course but when scaled up to the size I want to make I don't think the results will be very good.
So basically I think 4 corners for calibration isn't going to be good enough. Any suggestions to work around this?
If it were possible to provide several hundred (or even thousand) calibration points that would be really helpful. Or another alternative would be if the map could be calibrated using OSGB36 and orux could do conversions (live, not just on loading to working out the corners - you'd have the same issue).
Richard.
I want to create some very large maps for orux (like the entire UK excluding NI). This is going to be a database in the region of 10gb and a very large number of tiles (and probably days of computing time to create the db). The problem is my maps are calibrated to OSGB36 (British National Grid), not WGS84. I can easily convert to WGS84 for points on land but not accurately for points off the coast (which all 4 corners of a box containing the UK would be). Also, conversion from OSGB36 to WGS84 isn't simple so if even if I could get accurate corners to a big box, as you moved around the country inside the that box the calibration would drift off. Doing this for small maps works fine of course but when scaled up to the size I want to make I don't think the results will be very good.
So basically I think 4 corners for calibration isn't going to be good enough. Any suggestions to work around this?
If it were possible to provide several hundred (or even thousand) calibration points that would be really helpful. Or another alternative would be if the map could be calibrated using OSGB36 and orux could do conversions (live, not just on loading to working out the corners - you'd have the same issue).
Richard.
rab- Cantidad de envíos : 16
Fecha de inscripción : 2010-08-30
Re: How can I calibrate really large maps?
OSGB36 is a Transverse Mercator (TM, in short) projection (EPSG 7405). I thnik 4 calibration point in OSGB36 (TM) grid coordinate is enough. You can use OruxMapsDesktop to calibrate a blank map with the same size (X*Y) of the map in the db.
Check the output otrk2.xml, you will see the coordinate of all 4 corner points (projected) are translated in WGS84 geographic coordinate. Check and estimate the coordinates.
All image tiles in the sqlite db are 512x512 in size. There should be xMax * yMax tiles in your db.
You can select to display TM grid coordinate in OruxMaps app. For the app to calculate the correct TM grid coordinate, you need to correct the lat/lng orig in <MapCHunks projection="">. The coordinate should be in WGS84. The value you see in the generated otrk2.xml is the original value your enter in OruxMapsDesktop, whch is in your own datum, not WGS84.
- Image file: the blank image
- Datum: OSGB36
- Projection: Transverse Mercator, enter the TM parameters. lat/long orig, scale, false easting and northing
- Select Grid
- P1 - P4: enter X, Y, East, North in grid coordinate for the calibration pt. (You need to estimate X, Y pixel coordinate of the calibration pt in your map)
- Check 'Only otrk2 file' to generate otrk2.xml only
Check the output otrk2.xml, you will see the coordinate of all 4 corner points (projected) are translated in WGS84 geographic coordinate. Check and estimate the coordinates.
All image tiles in the sqlite db are 512x512 in size. There should be xMax * yMax tiles in your db.
You can select to display TM grid coordinate in OruxMaps app. For the app to calculate the correct TM grid coordinate, you need to correct the lat/lng orig in <MapCHunks projection="">. The coordinate should be in WGS84. The value you see in the generated otrk2.xml is the original value your enter in OruxMapsDesktop, whch is in your own datum, not WGS84.
epic- Cantidad de envíos : 10
Fecha de inscripción : 2013-01-28
Re: How can I calibrate really large maps?
Thanks for your suggestion, but that doesn't help.
Firstly 4 points isn't enough for a large map (as I said in my original post), while it works fine for small maps, or probably those that start off in WGS84. This map is OSGB36 and a trivial conversion to WGS84 as you suggest will yield very poor results. Coordinates need converting using OSTN02 for accurate results, however this is not possible for points more than 1km out to sea, which the 4 corners of the map would be.
Secondly (but not unrelated to the first point) the world isn't flat or even perfectly round so models of ellipsoids for conversion aren't very accurate. If you just take the 4 corners and use a simple ellipsoid model to work out where you are between those 4 points you'll get poor results again. OSTN02 uses real data with a 1km resolution for this calculation. When you're working with maps of 10/20km your 4 corners will be pretty accurate so picking a position in the middle will work out pretty close, working from maps over a 1000km won't be.
Thirdly OruxMapsDesktop needs an image file to do what you suggest, however my image file would be >145 billion pixels and I don't have the 135gb of ram required to create such an image!
Creating the otrk2 file is no problem, nor the database, I've written my own tooling for this which should be capable of working with such large datasets. The problem is calibration. I'd actually rather split the data in to smaller sets, which would pretty much eliminate the calibration issue (as I say 4 corner calibration points, transformed with OSTN02, is acceptable for small maps) but orux can't load tiles from more than one database at a time to create a seamless transition from one map to the next.
Richard.
Firstly 4 points isn't enough for a large map (as I said in my original post), while it works fine for small maps, or probably those that start off in WGS84. This map is OSGB36 and a trivial conversion to WGS84 as you suggest will yield very poor results. Coordinates need converting using OSTN02 for accurate results, however this is not possible for points more than 1km out to sea, which the 4 corners of the map would be.
Secondly (but not unrelated to the first point) the world isn't flat or even perfectly round so models of ellipsoids for conversion aren't very accurate. If you just take the 4 corners and use a simple ellipsoid model to work out where you are between those 4 points you'll get poor results again. OSTN02 uses real data with a 1km resolution for this calculation. When you're working with maps of 10/20km your 4 corners will be pretty accurate so picking a position in the middle will work out pretty close, working from maps over a 1000km won't be.
Thirdly OruxMapsDesktop needs an image file to do what you suggest, however my image file would be >145 billion pixels and I don't have the 135gb of ram required to create such an image!
Creating the otrk2 file is no problem, nor the database, I've written my own tooling for this which should be capable of working with such large datasets. The problem is calibration. I'd actually rather split the data in to smaller sets, which would pretty much eliminate the calibration issue (as I say 4 corner calibration points, transformed with OSTN02, is acceptable for small maps) but orux can't load tiles from more than one database at a time to create a seamless transition from one map to the next.
Richard.
rab- Cantidad de envíos : 16
Fecha de inscripción : 2010-08-30
rab- Cantidad de envíos : 16
Fecha de inscripción : 2010-08-30
Similar topics
» calibrate maps
» How to use Garmin maps
» How can I calibrate my elevation?
» Large KML data support
» Importing large POI file, how?
» How to use Garmin maps
» How can I calibrate my elevation?
» Large KML data support
» Importing large POI file, how?
Permissions in this forum:
You cannot reply to topics in this forum