Adding support for scale calculations for all units supported by the PROJ.4 and CS-MAP libraries. Thanks for the patch madair. r=me (closes #1821)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8614 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -961,6 +961,10 @@ OpenLayers.Util.createUniqueID = function(prefix) {
|
|||||||
* Constant: INCHES_PER_UNIT
|
* Constant: INCHES_PER_UNIT
|
||||||
* {Object} Constant inches per unit -- borrowed from MapServer mapscale.c
|
* {Object} Constant inches per unit -- borrowed from MapServer mapscale.c
|
||||||
* derivation of nautical miles from http://en.wikipedia.org/wiki/Nautical_mile
|
* derivation of nautical miles from http://en.wikipedia.org/wiki/Nautical_mile
|
||||||
|
* Includes the full set of units supported by CS-MAP (http://trac.osgeo.org/csmap/)
|
||||||
|
* and PROJ.4 (http://trac.osgeo.org/proj/)
|
||||||
|
* The hardcoded table is maintain in a CS-MAP source code module named CSdataU.c
|
||||||
|
* The hardcoded table of PROJ.4 units are in pj_units.c.
|
||||||
*/
|
*/
|
||||||
OpenLayers.INCHES_PER_UNIT = {
|
OpenLayers.INCHES_PER_UNIT = {
|
||||||
'inches': 1.0,
|
'inches': 1.0,
|
||||||
@@ -975,6 +979,88 @@ OpenLayers.INCHES_PER_UNIT["in"]= OpenLayers.INCHES_PER_UNIT.inches;
|
|||||||
OpenLayers.INCHES_PER_UNIT["degrees"] = OpenLayers.INCHES_PER_UNIT.dd;
|
OpenLayers.INCHES_PER_UNIT["degrees"] = OpenLayers.INCHES_PER_UNIT.dd;
|
||||||
OpenLayers.INCHES_PER_UNIT["nmi"] = 1852 * OpenLayers.INCHES_PER_UNIT.m;
|
OpenLayers.INCHES_PER_UNIT["nmi"] = 1852 * OpenLayers.INCHES_PER_UNIT.m;
|
||||||
|
|
||||||
|
// Units from CS-Map
|
||||||
|
OpenLayers.METERS_PER_INCH = 0.02540005080010160020;
|
||||||
|
OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT, {
|
||||||
|
"Inch": OpenLayers.INCHES_PER_UNIT.inches,
|
||||||
|
"Meter": 1.0 / OpenLayers.METERS_PER_INCH, //EPSG:9001
|
||||||
|
"Foot": 0.30480060960121920243 / OpenLayers.METERS_PER_INCH, //EPSG:9003
|
||||||
|
"IFoot": 0.30480000000000000000 / OpenLayers.METERS_PER_INCH, //EPSG:9002
|
||||||
|
"ClarkeFoot": 0.3047972651151 / OpenLayers.METERS_PER_INCH, //EPSG:9005
|
||||||
|
"SearsFoot": 0.30479947153867624624 / OpenLayers.METERS_PER_INCH, //EPSG:9041
|
||||||
|
"GoldCoastFoot": 0.30479971018150881758 / OpenLayers.METERS_PER_INCH, //EPSG:9094
|
||||||
|
"IInch": 0.02540000000000000000 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"MicroInch": 0.00002540000000000000 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Mil": 0.00000002540000000000 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Centimeter": 0.01000000000000000000 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Kilometer": 1000.00000000000000000000 / OpenLayers.METERS_PER_INCH, //EPSG:9036
|
||||||
|
"Yard": 0.91440182880365760731 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"SearsYard": 0.914398414616029 / OpenLayers.METERS_PER_INCH, //EPSG:9040
|
||||||
|
"IndianYard": 0.91439853074444079983 / OpenLayers.METERS_PER_INCH, //EPSG:9084
|
||||||
|
"IndianYd37": 0.91439523 / OpenLayers.METERS_PER_INCH, //EPSG:9085
|
||||||
|
"IndianYd62": 0.9143988 / OpenLayers.METERS_PER_INCH, //EPSG:9086
|
||||||
|
"IndianYd75": 0.9143985 / OpenLayers.METERS_PER_INCH, //EPSG:9087
|
||||||
|
"IndianFoot": 0.30479951 / OpenLayers.METERS_PER_INCH, //EPSG:9080
|
||||||
|
"IndianFt37": 0.30479841 / OpenLayers.METERS_PER_INCH, //EPSG:9081
|
||||||
|
"IndianFt62": 0.3047996 / OpenLayers.METERS_PER_INCH, //EPSG:9082
|
||||||
|
"IndianFt75": 0.3047995 / OpenLayers.METERS_PER_INCH, //EPSG:9083
|
||||||
|
"Mile": 1609.34721869443738887477 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"IYard": 0.91440000000000000000 / OpenLayers.METERS_PER_INCH, //EPSG:9096
|
||||||
|
"IMile": 1609.34400000000000000000 / OpenLayers.METERS_PER_INCH, //EPSG:9093
|
||||||
|
"NautM": 1852.00000000000000000000 / OpenLayers.METERS_PER_INCH, //EPSG:9030
|
||||||
|
"Lat-66": 110943.316488932731 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Lat-83": 110946.25736872234125 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Decimeter": 0.10000000000000000000 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Millimeter": 0.00100000000000000000 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Dekameter": 10.00000000000000000000 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Decameter": 10.00000000000000000000 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Hectometer": 100.00000000000000000000 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"GermanMeter": 1.0000135965 / OpenLayers.METERS_PER_INCH, //EPSG:9031
|
||||||
|
"CaGrid": 0.999738 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"ClarkeChain": 20.1166194976 / OpenLayers.METERS_PER_INCH, //EPSG:9038
|
||||||
|
"GunterChain": 20.11684023368047 / OpenLayers.METERS_PER_INCH, //EPSG:9033
|
||||||
|
"BenoitChain": 20.116782494375872 / OpenLayers.METERS_PER_INCH, //EPSG:9062
|
||||||
|
"SearsChain": 20.11676512155 / OpenLayers.METERS_PER_INCH, //EPSG:9042
|
||||||
|
"ClarkeLink": 0.201166194976 / OpenLayers.METERS_PER_INCH, //EPSG:9039
|
||||||
|
"GunterLink": 0.2011684023368047 / OpenLayers.METERS_PER_INCH, //EPSG:9034
|
||||||
|
"BenoitLink": 0.20116782494375872 / OpenLayers.METERS_PER_INCH, //EPSG:9063
|
||||||
|
"SearsLink": 0.2011676512155 / OpenLayers.METERS_PER_INCH, //EPSG:9043
|
||||||
|
"Rod": 5.02921005842012 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"IntnlChain": 20.1168 / OpenLayers.METERS_PER_INCH, //EPSG:9097
|
||||||
|
"IntnlLink": 0.201168 / OpenLayers.METERS_PER_INCH, //EPSG:9098
|
||||||
|
"Perch": 5.02921005842012 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Pole": 5.02921005842012 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Furlong": 201.1684023368046 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Rood": 3.778266898 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"CapeFoot": 0.3047972615 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Brealey": 375.00000000000000000000 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"ModAmFt": 0.304812252984505969011938 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"Fathom": 1.8288 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"NautM-UK": 1853.184 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"50kilometers": 50000.0 / OpenLayers.METERS_PER_INCH,
|
||||||
|
"150kilometers": 150000.0 / OpenLayers.METERS_PER_INCH
|
||||||
|
});
|
||||||
|
|
||||||
|
//unit abbreviations supported by PROJ.4
|
||||||
|
OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT, {
|
||||||
|
"mm": OpenLayers.INCHES_PER_UNIT["Meter"] / 1000.0,
|
||||||
|
"cm": OpenLayers.INCHES_PER_UNIT["Meter"] / 100.0,
|
||||||
|
"dm": OpenLayers.INCHES_PER_UNIT["Meter"] * 100.0,
|
||||||
|
"km": OpenLayers.INCHES_PER_UNIT["Meter"] * 1000.0,
|
||||||
|
"kmi": OpenLayers.INCHES_PER_UNIT["nmi"], //International Nautical Mile
|
||||||
|
"fath": OpenLayers.INCHES_PER_UNIT["Fathom"], //International Fathom
|
||||||
|
"ch": OpenLayers.INCHES_PER_UNIT["IntnlChain"], //International Chain
|
||||||
|
"link": OpenLayers.INCHES_PER_UNIT["IntnlLink"], //International Link
|
||||||
|
"us-in": OpenLayers.INCHES_PER_UNIT["inches"], //U.S. Surveyor's Inch
|
||||||
|
"us-ft": OpenLayers.INCHES_PER_UNIT["Foot"], //U.S. Surveyor's Foot
|
||||||
|
"us-yd": OpenLayers.INCHES_PER_UNIT["Yard"], //U.S. Surveyor's Yard
|
||||||
|
"us-ch": OpenLayers.INCHES_PER_UNIT["GunterChain"], //U.S. Surveyor's Chain
|
||||||
|
"us-mi": OpenLayers.INCHES_PER_UNIT["Mile"], //U.S. Surveyor's Statute Mile
|
||||||
|
"ind-yd": OpenLayers.INCHES_PER_UNIT["IndianYd37"], //Indian Yard
|
||||||
|
"ind-ft": OpenLayers.INCHES_PER_UNIT["IndianFt37"], //Indian Foot
|
||||||
|
"ind-ch": 20.11669506 / OpenLayers.METERS_PER_INCH //Indian Chain
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constant: DOTS_PER_INCH
|
* Constant: DOTS_PER_INCH
|
||||||
* {Integer} 72 (A sensible default)
|
* {Integer} 72 (A sensible default)
|
||||||
|
|||||||
Reference in New Issue
Block a user