This shows you the differences between two versions of the page.
ivac2:firdef_map_latlon [2014/04/13 12:21] filip.jonckers |
ivac2:firdef_map_latlon [2017/04/08 14:27] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | [[ivac2:firdef_toc|Back]] | ||
- | |||
- | ====== Latitude and Longitude attributes ====== | ||
- | |||
- | All map elements require at least one <point> element which defines a geographical position on the map. In general a geographical point is defined as a latitude/longitude pair. | ||
- | If cartesian X/Y attribute values are used, the point is calculated using the <origin> given in the FIR configuration file ([[ivac2:firdef_config_fir|config.fir]]). | ||
- | |||
- | When a map is loaded all points defined as a latitude/longitude pair are transformed to cartesian X/Y values relative to the system origin point and stored as such internally. | ||
- | So using cartesian X/Y might slightly improve startup speed but keep in mind that in that case the system origin point cannot be changed. | ||
- | |||
- | |||
- | |||
- | <HTML> | ||
- | <p style="border:1px dashed #C11B17;color:#C11B17;"> | ||
- | Tip: Use predefined points in the points.xml file for specific navigation points. This will make your map definition more readable and especially easier to maintain. | ||
- | </p> | ||
- | </HTML> | ||
- | |||
- | |||
- | |||
- | The format of the latitude/longitude values is **//Zdddmmsssss//** where: | ||
- | * Z = N or S for latitude, E or W for longitude | ||
- | * ddd = degrees (3 digits, zero padded) | ||
- | * mm = minutes (max 59) | ||
- | * sssss = seconds with maximum 3 decimal places (max 59.999) | ||
- | |||
- | The predefined //<point>// elements are defined in the [[ivac2:firdef_points_xml|points.xml]] file. Use the id attribute to use a predefined //<point>// element. | ||
- | |||
- | |||
- | |||
- | latitude/longitude example: | ||
- | * lat="N0543000000" → N054:30:00.000 | ||
- | * lon="W0033535000" → W003:35:35.000 | ||
- | |||
- | |||
- | |||
- | The trailing zeroes are not required, the following is also valid: W003:35:35.000 → lon="W0033535" | ||
- | |||
- | |||
- | === Example === | ||
- | <code XML> | ||
- | <point lon="N0543000000" lat="W0033535000"/> | ||
- | <point lon="E0043127" lat="N0511038"/> | ||
- | <point lon="E0043140" lat="N0511101"/> | ||
- | <point ref=”REMBA”/> | ||
- | <point ref=”EBBR-IAF-25L”/> | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | ===== The sectorfile latitude/longitude overflow bug ===== | ||
- | |||
- | |||
- | |||
- | Keep a sharp lookout for a major bug in latitude and longitude coordinates which originate from IvAc v1 sectorfiles created with the old //sector file creator website//. Apparently IVAC v1 did not care about this error and just used the data regardless of the overflow value. | ||
- | |||
- | |||
- | You often see coordinates like: | ||
- | |||
- | W0023260000 -> 002:32:60.000 | ||
- | |||
- | Notice the overflow value in the seconds part: **60 seconds** ?! | ||
- | |||
- | 60 seconds = 1 minute .... The maximum seconds value should be 59.999 seconds - so we have an overflow issue: | ||
- | |||
- | 002:32:60.000 should be corrected to 002:33:00.000 | ||
- | |||
- | |||
- | You will also find coordinates like E0082339001 ending in '1'. These are also calculation errors and can be safely set to '0' | ||
- | |||
- | E0082339001 -> E0082339000 | ||
- | |||
- | |||
- | |||
- | ==== How to find any occurences of the bug? ==== | ||
- | |||
- | |||
- | |||
- | Check the log file for errors in *log/ivac.log* for an overflow error similar to: | ||
- | |||
- | ERROR Java2D Queue Flusher ... out of range:E0023260000 | ||
- | |||
- | Simply use your text editor to search for the listed coordinate. | ||