def position
return @__posotion if defined? @__posotion
return @__posotion = nil if ( params["lat"].nil? || params['lat'] == '' || params["lon"].nil? || params["lon"] == '' )
l = Jpmobile::Position.new
l.options = params.reject {|x,v| !["ver", "datum", "unit", "lat", "lon", "alt", "time", "smaj", "smin", "vert", "majaa", "fm"].include?(x) }
case params["unit"]
when "1"
l.lat = params["lat"].to_f
l.lon = params["lon"].to_f
when "0", "dms"
raise "Invalid dms form" unless params["lat"] =~ /^([+-]?\d+)\.(\d+)\.(\d+\.\d+)$/
l.lat = Jpmobile::Position.dms2deg($1,$2,$3)
raise "Invalid dms form" unless params["lon"] =~ /^([+-]?\d+)\.(\d+)\.(\d+\.\d+)$/
l.lon = Jpmobile::Position.dms2deg($1,$2,$3)
else
return @__posotion = nil
end
if params["datum"] == "1"
l.tokyo2wgs84!
end
return @__posotion = l
end