@verb #6119:":set_utm" this none this rxdo #8084 @program #6119:":set_utm" this none this ":set_utm(easting, northing, central_meridian, initial_northing) => 0" " Sets the variables for a UTM position. All other position values are reset to invalid." caller_perms():controls(this.owner) || raise(E_PERM) {easting, northing, centMer, iNorthing} = args if (typeof(easting) != WAIF || easting.class != $unit_number || !easting:is_type("Distance")) raise(E_INVARG, "Easting must be distance based $unit_number WAIF.") elseif (typeof(northing) != WAIF || northing.class != $unit_number || !northing:is_type("Distance")) raise(E_INVARG, "Northing must be distance based $unit_number WAIF.") elseif (iNorthing != 0 && iNorthing != 10000000) raise(E_INVARG, "Initial northing must be 0 or 10,000,000") elseif (!(typeof(centMer) in {FLOAT, NUM}) || {centMer = tofloat(centMer), centMer > 180.0}[2] || centMer < -180.0) raise(E_INVARG, "Central meridian must be float or int in range {-180.0, 180.0}") endif this:reset() this.easting = $unit_number:new(easting.number, easting.unit) this.northing = $unit_number:new(northing.number, northing.unit) this.centMer = centMer this.initial_northing = iNorthing "Last modified by Lao-Tzu (#8084) on Tue Jan 15 06:41:49 2002 MST." .