Skip to main content
Posts by:

Tim Booher

Buyback military years

h2. Should I even buy the years? what if we use the 13K for something really special? the cashflow is way out there.

1 36 7836.4409
2 37 8692.4214
3 38 9592.7079
4 39 10539.1884
5 40 11533.8243
6 41 12578.6531
7 42 13675.7911
8 43 14827.4367
9 44 16035.8728
10 45 17303.4704
11 46 18632.6915
12 47 20026.0928
13 48 21486.3287
14 49 23016.1553
15 50 24618.4338
16 51 26296.1345
17 52 28052.3406
18 53 29890.2526
19 54 31813.1921
20 55 33824.6069
21 56 35928.0746
22 57 38127.3083
23 58 40426.1607
24 59 42828.6297
25 60 45338.8632
26 61 47961.165
27 62 50700
28 63 53560
29 64 56545.97
30 65 59662.89

If you’ve spent time in on active duty with an honorable discharge (i.e. you have a DD-214) and you then join the civil service, it is possible to pay for your military years and receive credit for FERS.

Questions:
* What are the various deadlines?

There is a two-year interest free period that begins on your date of hire. However, since the interest is added on an annual basis, if the deposit amount is paid in full prior to three years of your hire date the deposit is interest.

* Can I collect my civilian and reserve retirements? (Retirement: You must waive your military retired pay in order to receive credit for military service in a civilian annuity, unless your military retirement is based on)
*

employee. The deposit can be made in one single payment, multiple payments, or through payroll deductions, normally for as little as $25-$50

There are two reasons to do this:
* You could retire sooner, or
* Your can increase your retirement annuity

Here are the rules:
* The deposit must be paid in full while you are a federal employee
* that you must have at least five years of creditable civilian service and be covered under the CSRS or FERS retirement system on the date of retirement

All the details are here: “http://www.opm.gov/retire/pre/fers/servicecredit.asp”:http://www.opm.gov/retire/pre/fers/servicecredit.asp

Here is the math. The deposit amount is 3{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4} of military base pay for FERS employees.

There are three steps to make this happen:

Obtain your total estimated military earnings by sending form RI20-97 and a copy of your DD214 to your respective military pay representative. The military payroll office will send you a short letter or form indicating your total estimated earnings during your military service.

Complete a SF-3108 or SF-2803 This form requires a statement on the form concerning military deposits, which is not available on the on-line version. Obtain the edited form from your HR office. HR will forward the documents to your civilian payroll office. Your payroll office will bill you directly.

Make the deposit to your civilian payroll office. You can pay the deposit in one lump sum, a series of payments, or sign up for payroll deductions, normally for as little as $50 per pay period. The deposit must be paid in full while you are employed and cannot be made after you retire.
Step 4: When the deposit is complete, your payroll office will send you a letter that the deposit is paid in full. Keep this document for your permanent retirement records and send a copy to your HR office. Payroll will not usually notify your HR office of the deposit, so it is very important that you retain a copy of this letter until you

classdef PaymentPlanner  0
               obj.year_of_departure = 2011 + years_from_now;
            end
{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}           how many years are we looking at total?
            obj.n                       = PaymentPlanner.years_out+1;
{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}           which years are we looking at?
            obj.years                   = (2011:(2011+PaymentPlanner.years_out))';
{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}           what are the years of the experiment?
            obj.tv_each_year            = obj.years;
{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}           what age are you each year?
            obj.tv_age                  = obj.years-(ones(obj.n,1)*1976);
{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}           what is your age when you leave service?
            obj.year_of_62              = obj.years(obj.tv_age == 62);
            obj.age_at_departure        = obj.year_of_departure-obj.birthday(1);
{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}           what is the inflation-adjusted salary in each year?
            obj.tv_salary               = obj.increase_with_inflation(obj.starting_salary)';
{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}           what is the inflation-adjusted salary at exit
            obj.departing_salary_TY     = obj.tv_salary(obj.years == obj.year_of_departure);
{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}           how much cash on hand each year?
            obj.tv_cash_on_hand_TY      = obj.increase_with_inflation(obj.amt_years_buyback)';
{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}           how many years in federal service?
            obj.total_time_in_service   = obj.year_of_departure - PaymentPlanner.year_started_service;
{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}           how much cash would the government return?
            obj.payout                  = calculate_payout(obj);
{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}           what is the yearly payment available in 2011 dollars?
            obj.yearly_payment_BY       = obj.present_value(obj.get_retirement_BY, obj.year_of_62 - obj.year_of_departure);
        end

        function compare_30_year_coa(obj)
           for i = 1:30
               obj.year_of_departure = 2011 + i;
               obj.age_at_departure  = obj.year_of_departure-obj.birthday(1);
               obj.total_time_in_service   = obj.year_of_departure - PaymentPlanner.year_started_service;
               obj.yearly_payment_BY       = obj.present_value(obj.get_retirement_BY, obj.year_of_62 - obj.year_of_departure);
               disp([num2str(i) '|' num2str(obj.age_at_departure) '|' num2str(obj.yearly_payment_BY)]);
               A(i) = obj.yearly_payment_BY;
           end
           plot(1:30,A);
        end

        function out = present_value(obj, x, years)
            out = x/((1+obj.inflation_rate)^years);
        end

        function out = increase_with_inflation(obj,x)
            out = x*((1+obj.inflation_rate).^(1:obj.n));
        end

        function display_output(obj)
            disp(['At age ' num2str(obj.age_at_departure) ' you would depart with a base year salary of ' num2str(obj.starting_salary) ]);
            disp(['You would get ' num2str(obj.yearly_payment_BY) ' (BY11) going forward at age 62.']);
        end

        function payout = calculate_payout(obj)
            idx                         = find(obj.tv_age == 62);
            count_to_the_top            = length(obj.tv_payout_TY(idx:end));
            retirement_starting_salary  = obj.get_retirement_TY;
            obj.tv_payout_TY(idx:end)   = retirement_starting_salary*(1+obj.inflation_rate).^(1:count_to_the_top);
            payout                      = sum(obj.tv_payout_TY);
        end

        function yearly_payment = get_retirement_TY(obj)
            yearly_payment      = (obj.total_time_in_service/100)*obj.departing_salary_TY;
        end

        function yearly_payment = get_retirement_BY(obj)
            yearly_payment      = (obj.total_time_in_service/100)*obj.starting_salary;
        end

        function obj = value_at_age_62(obj)

        end
    end

end

h2. What are the steps?

Do I fall under: Uniformed Services Employment and Reemployment Rights Act (USERRA)?
No because no civilian service was interrupted.
How much do I pay?
For periods of service performed during 1999 the deposit equals 3.25{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}; and during 2000 the deposit equals 3.40{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}. After 31 Dec 00 the deposit returns to 3{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4} of your military base pay.
For periods of service performed during 1999 the deposit equals 3.25{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}; and during 2000 the deposit equals 3.40{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}. After 31 Dec 00 the deposit returns to 3{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4} of your military base pay.
So, for example, I joined in 07/04/1999 and departed in 08/05/2009
What is the process

By 0 Comments

Resource Allocation with Approximate Dynamic Programming

[
E = frac{eta}{c}left( frac{C_L^{3/2}}{C_D} right) sqrt{2 rho S} left( frac{1}{W_f} – frac{1}{W_i} right)
]

Where (eta) is the propeller efficiency, (c) is the minimum power specific fuel consumption rate, maximum density of air, ( rho ).

By 0 Comments

Winds around the world

Goal: characterize the winds available around the world.

First we need to construct our grid:

The horizontal, latitude-longitude grid ranges from +70 to -70 deg in latitude and from 0 to 357.5E deg in longitude, producing a grid that has dimensions of 57 x 144 points.

In matlab, this is:

[cells/degree northern_latitude_limit western_longitude_limit]
zerom(

These data were produced from the “NCEP/NCAR Reanalysis”:http://www.esrl.noaa.gov/psd/data/reanalysis/reanalysis.shtml are available at six-hour intervals, from January 1, 1948 to the present, and it is this 6-hour data that was used as the basis for this work.

Spatially, the delivered data values are given at points in a three-dimensional, global system using a 2.5 x 2.5 deg grid of latitude-longitude and altitudes that are specified by atmospheric pressure.

Above each point in this grid, horizontal wind information is delivered at 4 pressure levels: 50 mb, 70 mb, 100 mb, and 150 mb. If we assume a standard day, this corresponds to: 67,726 60,504 53,083 44,647 feet. At each grid point and pressure altitude, the horizontal wind vectors have been sorted into 12 directional bins.

Cells per degree = 2.5
Degrees per cell = 0.4

– how linear is the wind change with altitude?
– where are winds high?

By 0 Comments

How do you deploy an application.yml based config to heroku

In one of my applications, I have the following config files that are excluded from git:

* config/mongoid.yml
* config/application.yml
* config/mailserver_setting.rb
* config/omniauth_settings.rb

For deploying to a regular server, I just add tasks to my capistrano deployment file to create sym-links to a shared directory. In this case I have to modify my application to use local ENV files and consequently the ENV hash in my rails app.

In my configuration.rb (boots at initialization):

config_file =  File.expand_path('../../config/application.yml', __FILE__)
if File.exist?(config_file)
  APPLICATION_CONFIG=YAML.load_file(config_file)[Rails.env]['application']
  CONSTANTS=YAML.load_file(config_file)[Rails.env]['constants']
  APPLICATION_CONFIG.each{|k,v| ENV["APPLICATION_CONFIG_#{k}"] = v.to_s }
  CONSTANTS.each{|k,v| ENV["CONSTANTS_#{k}"] = v.to_s}
end

So using the following custom thor task, I can load heroku’s env files based on some code from Les Hill:

This works well.

By 0 Comments

Attic

If you walk up our attic steps, you will be surrounded by this:

The problem is that it takes forever to find and store things, so we don’t store them there or we buy duplicates of things we already have. I am often prevented from getting things done because I want them done perfectly. However, this problem is sufficiently annoying and I have sufficiently small time that I am ready to fix this without custom carpentry and custom angled storage bins on castors and wheels to provide easy access to everything — on top of a full database of our home inventory. Ah, someday.

So our attic and our stuff in general is not serving us. Yes, we need to get rid of the stuff we don’t need, made easy(ier) by the fact that our kid production line is closed. If we put something up there then it is not down here because we need it seasonally (think Christmas tree) or occasional (think my mitre saw). Given the nature of what will be up there, our effort is guided by the following principles (by priority):

  • Cheap and Easy (we want absolute minimal time and energy spent on this, roughly three diaper change intervals is all we can spare — yes, that has a huge standard dev)
  • Speed, Easy access to everything (so we don’t have to move more than one box to see what we are looking for)
  • Transparency, we can get to what we need easily (so we will have a map of where things go)
  • Center Isle Clear, no items in the “hallway” (that is our downfall now, items in the central area block us from finding things)
  • Flexibility (when we get in hurry, we have to put things up quickly, so we don’t want to over-optimize)
  • Minimalism (Let’s not put it up there if we don’t have 90{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4} chance of using it in a year, can’t buy it, or have a long term vision for it)

Regarding the last principal, we’ve developed a proviso for sentimental stuff. We have one bin for each of us and call it our sentimental warehouse, everything else has to have a non-sentimental purpose. With these principles understood, we have every incentive to put stuff up there because we have a smaller house for 6 folks (200 ft^2 per person) so we have to use our space wisely. We have a small garage that serves as a mud, play and sports room, so I put as much of our tools, paint, etc up in the attic and this has to be easy to access. We also believe in a bare bones accesible toy inventory, so we rotate toys up there frequently, aside from the fact that one kid is always graduating to a new set of toys.

Despite the fact that I have to get my taxes done this weekend (slacker! or is it workaholic?), the colder weather reminded me the small window of attic access is coming. Plus, we need to move things around up there for some upcoming electrical work. So I took some measurements, and played around in Sketchup and found that the key issue was how to make the sides useful and easily accessible. For example, the entire floor width was approximately 29 feet, but only 18 feet had a usable floor, meaning that I was ignoring roughly 40{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4} of the total floor space. This 40{aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4} was the most important to use for storage since it is out of the center aisle. If I just incorporate this area, I calculated that I would gain roughly 25 ft^2 of surface area, multipled by the linear feet available which is 80 feet — meaning we would have 75 cubic yards, exactly half of a semi truck’s transportation volume — that is a lot of space, if I could only harness it inline with our principles.

With two hours, I did some SketchUp, looked around online at some ideas, my results are below. Now, back to taxes. Can I be greedy, and hope wiser friends can give me some feedback on this plan?

All feedback is welcome, but here are the things I want to do, but can’t:

  • Full inventory of everything up there, location tag everything and put on our intranet
  • Custom drawers and storage containers
  • Analysis on how supported my shelving needs to be (I have a degree in structures, I would love to use it someday.)
  • Optimization of where things are placed

Particular things I don’t know:
* Where to get storage containers as cost efficient as possible
* Attic ventilation constraints (building science considerations)
* Whether it makes sense to use the 10 inches in the joists. I don’t think so, because of the height of any box will prevent using that area.
* Any systems that are inexpensive, but will save me lots of time
* If installing lighting back there makes sense

Links
* “rubbermaid”:http://www.rubbermaid.com/Category/Pages/ProductDetail.aspx?CatName=Storage&SubcatId=CleverStore&Prod_ID=RP091401
* “wheeled idea”:http://www.curbly.com/lgsal/posts/1562-how-to-safely-store-things-in-the-attic
* “what i really want to do”:http://img2.timeinc.net/toh/i/g/09/interiors/06-before-after/06-attic.jpg
* “good idea”:http://www.betterimprovement.com/wp-content/uploads/2007/11/the-infinite-attic-storage-system.jpg

h3. Conclusion

and eventually:

I couldn’t resist the cheap and easy method to buy ready-made shelves and just put them up there. For roughly $200, I got everything off the floor. It was an excellent suggestion. Thanks Matt Markel for the shelving idea. Spirit, thank you for the organization idea. I’ve fully incorporated your ideas.

At some point in life, I have to choose simplicity over fun. That point arrives when four kids arrive.

By 0 Comments

Mongoid counter_cache with has_and_belongs_to_many

If I have two Mongoid models joined by a has_and_belongs_to_many relationship, Users and Groups. I need to quickly and efficiently sort by the most popular groups which really should be done with a counter_cache. However, counter_caches are implemented in rails by setting a callback to update the counter cache every time a child model is created/destroyed. But, Mongoid does not present callbacks for HABTM, and there are no real records that are getting created anyway. Additionally, you can add a whole collection of associations at once which would not be compatible with the efficient Mongoid inc operator. There is a mongoid_counter_cache gem that I played with for awhile, but for these reasons, I couldn’t get it to work with my existing schema, so I had to roll my own solution to this.

To complicate things, a user can follow a group or join a group. Following a group just keeps them informed on what the group is doing, joining allows them to participate. To make all this work, I have the following associations defined:

bc.
include Mongoid::Document
field :name, :type => String
field :type, :type => Symbol, :default => :custom
field :description, :type => String
index :name
index :type
field :follower_count
field :member_count

belongs_to :owner, :class_name => “User”, :inverse_of => :custom_groups

has_and_belongs_to_many :members, :class_name => “User”, :inverse_of => :joined_groups
has_and_belongs_to_many :followers, :class_name => “User”, :inverse_of => :followed_groups

And for the user:

bc.
has_and_belongs_to_many :joined_groups, :class_name => “PolcoGroup”, :inverse_of => :members
has_and_belongs_to_many :followed_groups, :class_name => “PolcoGroup”, :inverse_of => :followers

I’m sticking with the _count naming convention in case, I get some performance boost when calling parent.children.size which will read the cached value instead of actually querying the database. The column type is integer and we also pass a :default => 0.

Since I can’t use Mongoid’s atomic update here, I’m going to go through the database and update the relevant field with the current count.

bq.
after_save :update_categories_counter_cache
def update_categories_counter_cache
self.categories.each { |c| c.update_count(self) } unless self.categories.empty?
end

What does all this mean? We are adding an after_save callback method called update_categories_counter_cache. This metod is triggered after the record is saved, and it loops through all categories (if self.categories array is not empty, that is) and calls update_count method for each of them. The update_count is defined in Category model file (well, not yet, but you will define it now). The reason for the loop is that you might have multiple assignments on one save, so we make sure all categories that the post belongs to are updated.

Let’s define the update_count method for the Category model. Open category.rb and add the follwing:

def update_count
update_attribute(:posts_count, self.posts.length)
end

By 0 Comments

Official Modes of Travel for the US Department of Defense

This one should be simple, but it is not. I just wanted to know what to put on an Air Force form 938 for “MODE OF TRAVEL”. This wasn’t easy.

In the JFTR, https://www.defensetravel.dod.mil/Docs/Training/DTA_App_C.pdf

Appendix K,
Table K-3 associates each travel mode with its description, expense category,
and single threshold.

TRAVEL MODES AND OTHER TRANSPORTATION TYPES

OTHER TRANSPORTATION TYPE MODE DESCRIPTION EXPENSE CATE SINGLE THRESH
Comm Bus CB Bus Fare COM. CARR.-I 500
CTO Fee (Central Bill) CF-C CTO FEE (GOVCC-C) COM. CARR.-C 150
CTO Fee (Indiv Bill) CF CTO FEE (GOVCC-I) COM. CARR.-I 150
Comm Air (Indiv Bill) CP Air Fare (GOVCC-I) COM. CARR.-I 1500
Comm Air (Central Bill) CP-C Air Fare (GOVCC-C) COM. CARR.-C 1500
Comm Rail (Indiv Bill) CR Train Fare (GOVCC-I) COM. CARR.-I 300
Comm Rail (Central Bill) CR-C Train Fare (GOVCC-C) COM. CARR.-C 300
CV Ship Fare COM. CARR.-C 300
DGV POC Use-Gov Vehicle Available MILEAGE 0
GA Government Auto TRANSPORT 0
GB Government Bus TRANSPORT 0
GP Government Plane COM. CARR.-G 0
GV Government Vessel TRANSPORT 0
GVA POC Use-Dedi-cated Gov Vehicle MILEAGE 0
PA Pvt Auto-TDY/TAD MILEAGE 500
PAL Pvt Auto-Local MILEAGE 200
PAS Passenger (No Claim) TRANSPORT 0
PAT Pvt Auto-Terminal MILEAGE 50
PM Private Motorcycle MILEAGE 500
PP Private Plane MILEAGE 500
PV Private Vessel TRANSPORT 500
TB Prepaid Bus COM. CARR.-T 0
TP Prepaid Plane COM. CARR.-T 0
TR Prepaid Rail COM. CARR.-T 0
TV Prepaid Vessel COM. CARR.-T 0
CA Commercial Auto RENTAL CAR 500
By 0 Comments

Active and Reserve Mix for USAF Space Command

10:24 AM

google.load(‘visualization’, ‘1’, {packages: [‘geomap’]});
google.load(‘visualization’, ‘1’, {packages: [‘geomap’]});
function drawVisualization() {
var data = new google.visualization.DataTable();
data.addRows(51);
data.addColumn(‘string’, ‘State’);
data.addColumn(‘number’, ‘Military’);
data.setValue(0,0,’US-AK’);
data.setValue(0,1,108);
data.setValue(1,0,’US-AL’);
data.setValue(1,1,172);
data.setValue(2,0,’US-CA’);
data.setValue(2,1,639);
data.setValue(3,0,’US-CO’);
data.setValue(3,1,384);
data.setValue(4,0,’US-DE’);
data.setValue(4,1,66);
data.setValue(5,0,’US-FL’);
data.setValue(5,1,322);
data.setValue(6,0,’US-GA’);
data.setValue(6,1,441);
data.setValue(7,0,’US-HI’);
data.setValue(7,1,434);
data.setValue(8,0,’US-ID’);
data.setValue(8,1,48);
data.setValue(9,0,’US-IL’);
data.setValue(9,1,248);
data.setValue(10,0,’US-KS’);
data.setValue(10,1,218);
data.setValue(11,0,’US-LA’);
data.setValue(11,1,243);
data.setValue(12,0,’US-MA’);
data.setValue(12,1,306);
data.setValue(13,0,’US-MD’);
data.setValue(13,1,59);
data.setValue(14,0,’US-ME’);
data.setValue(14,1,242);
data.setValue(15,0,’US-MN’);
data.setValue(15,1,118);
data.setValue(16,0,’US-MO’);
data.setValue(16,1,123);
data.setValue(17,0,’US-NC’);
data.setValue(17,1,206);
data.setValue(18,0,’US-NY’);
data.setValue(18,1,199);
data.setValue(19,0,’US-OH’);
data.setValue(19,1,295);
data.setValue(20,0,’US-OK’);
data.setValue(20,1,240);
data.setValue(21,0,’US-PA’);
data.setValue(21,1,374);
data.setValue(22,0,’US-RI’);
data.setValue(22,1,310);
data.setValue(23,0,’US-TN’);
data.setValue(23,1,437);
data.setValue(24,0,’US-TX’);
data.setValue(24,1,348);
data.setValue(25,0,’US-UT’);
data.setValue(25,1,119);
data.setValue(26,0,’US-VT’);
data.setValue(26,1,35);
data.setValue(27,0,’US-WA’);
data.setValue(27,1,645);
data.setValue(28,0,’US-WY’);
data.setValue(28,1,170);
var options = {};
options[‘width’] = 800;
options[‘height’] = 500;
options[‘showLegend’] = false;
options[‘region’] = ‘US’;
options[‘dataMode’] = ‘regions’;
var geomap = new google.visualization.GeoMap(
document.getElementById(‘guard_visualization’));
geomap.draw(data, options);
}
google.setOnLoadCallback(drawVisualization);
google.setOnLoadCallback(drawVisualization);

Guard Only

google.load(‘visualization’, ‘1’, {packages: [‘geomap’]});
google.load(‘visualization’, ‘1’, {packages: [‘geomap’]});
function drawVisualization() {
var data = new google.visualization.DataTable();
data.addRows(51);
data.addColumn(‘string’, ‘State’);
data.addColumn(‘number’, ‘Military’);
data.setValue(0,0,’US-CA’);
data.setValue(0,1,404);
data.setValue(1,0,’US-CO’);
data.setValue(1,1,1109);
data.setValue(2,0,’US-FL’);
data.setValue(2,1,99);
data.setValue(3,0,’US-GA’);
data.setValue(3,1,112);
data.setValue(4,0,’US-IL’);
data.setValue(4,1,2);
data.setValue(5,0,’US-MA’);
data.setValue(5,1,4);
data.setValue(6,0,’US-MD’);
data.setValue(6,1,1);
data.setValue(7,0,’US-NE’);
data.setValue(7,1,37);
data.setValue(8,0,’US-NH’);
data.setValue(8,1,1);
data.setValue(9,0,’US-NJ’);
data.setValue(9,1,103);
data.setValue(10,0,’US-NM’);
data.setValue(10,1,17);
data.setValue(11,0,’US-OK’);
data.setValue(11,1,92);
data.setValue(12,0,’US-TX’);
data.setValue(12,1,78);
data.setValue(13,0,’US-VA’);
data.setValue(13,1,78);
var options = {};
options[‘width’] = 800;
options[‘height’] = 500;
options[‘showLegend’] = false;
options[‘region’] = ‘US’;
options[‘dataMode’] = ‘regions’;
var geomap = new google.visualization.GeoMap(
document.getElementById(‘reserve_visualization’));
geomap.draw(data, options);
}
google.setOnLoadCallback(drawVisualization);
google.setOnLoadCallback(drawVisualization);

Reserve Only

google.load(‘visualization’, ‘1’, {packages: [‘geomap’]});
google.load(‘visualization’, ‘1’, {packages: [‘geomap’]});
function drawVisualization() {
var data = new google.visualization.DataTable();
data.addRows(51);
data.addColumn(‘string’, ‘State’);
data.addColumn(‘number’, ‘Military’);
data.setValue(0,0,’US-AK’);
data.setValue(0,1,242);
data.setValue(1,0,’US-AL’);
data.setValue(1,1,436);
data.setValue(2,0,’US-AZ’);
data.setValue(2,1,1);
data.setValue(3,0,’US-CA’);
data.setValue(3,1,7545);
data.setValue(4,0,’US-CO’);
data.setValue(4,1,10077);
data.setValue(5,0,’US-DC’);
data.setValue(5,1,84);
data.setValue(6,0,’US-DE’);
data.setValue(6,1,1);
data.setValue(7,0,’US-FL’);
data.setValue(7,1,3988);
data.setValue(8,0,’US-GA’);
data.setValue(8,1,760);
data.setValue(9,0,’US-HI’);
data.setValue(9,1,345);
data.setValue(10,0,’US-IL’);
data.setValue(10,1,883);
data.setValue(11,0,’US-MA’);
data.setValue(11,1,103);
data.setValue(12,0,’US-MD’);
data.setValue(12,1,128);
data.setValue(13,0,’US-MS’);
data.setValue(13,1,177);
data.setValue(14,0,’US-MT’);
data.setValue(14,1,14);
data.setValue(15,0,’US-NC’);
data.setValue(15,1,9);
data.setValue(16,0,’US-ND’);
data.setValue(16,1,118);
data.setValue(17,0,’US-NE’);
data.setValue(17,1,5);
data.setValue(18,0,’US-NH’);
data.setValue(18,1,129);
data.setValue(19,0,’US-NM’);
data.setValue(19,1,351);
data.setValue(20,0,’US-NV’);
data.setValue(20,1,17);
data.setValue(21,0,’US-NY’);
data.setValue(21,1,1);
data.setValue(22,0,’US-OH’);
data.setValue(22,1,114);
data.setValue(23,0,’US-OK’);
data.setValue(23,1,1086);
data.setValue(24,0,’US-TX’);
data.setValue(24,1,1724);
data.setValue(25,0,’US-UK’);
data.setValue(25,1,34);
data.setValue(26,0,’US-UT’);
data.setValue(26,1,16);
data.setValue(27,0,’US-VA’);
data.setValue(27,1,1405);
var options = {};
options[‘width’] = 800;
options[‘height’] = 500;
options[‘showLegend’] = false;
options[‘region’] = ‘US’;
options[‘dataMode’] = ‘regions’;
var geomap = new google.visualization.GeoMap(
document.getElementById(‘active_visualization’));
geomap.draw(data, options);
}
google.setOnLoadCallback(drawVisualization);
google.setOnLoadCallback(drawVisualization);

Active Only

By 0 Comments

ARC and Active Basing

This is just an attempt to understand where bases are and by which component.

Total Locations

google.load(‘visualization’, ‘1’, {packages: [‘geomap’]});

function drawVisualization() {
var data = new google.visualization.DataTable();
data.addRows(120);
data.addColumn(‘string’, ‘City’);
data.addColumn(‘number’, ‘Auths’);
data.setValue(0,0,’ABSTON, AL’);
data.setValue(0,1,50);
data.setValue(1,0,’ALCOA, TN’);
data.setValue(1,1,276);
data.setValue(2,0,’ANDREWS, MD’);
data.setValue(2,1,18);
data.setValue(3,0,’AURORA, CO’);
data.setValue(3,1,3);
data.setValue(4,0,’BARKING SANDS, HI’);
data.setValue(4,1,138);
data.setValue(5,0,’BEALE, CA’);
data.setValue(5,1,82);
data.setValue(6,0,’BOISE AIR TERMINAL, ID’);
data.setValue(6,1,48);
data.setValue(7,0,’BOLLING, DC’);
data.setValue(7,1,14);
data.setValue(8,0,’BOULDER, CO’);
data.setValue(8,1,33);
data.setValue(9,0,’BROOKS CITY BASE, TX’);
data.setValue(9,1,41);
data.setValue(10,0,’BRUNSWICK, GA’);
data.setValue(10,1,202);
data.setValue(11,0,’BUCKLEY, CO’);
data.setValue(11,1,1740);
data.setValue(12,0,’CAMP H M SMITH, HI’);
data.setValue(12,1,2);
data.setValue(13,0,’CAMP PARKS COMM A, CA’);
data.setValue(13,1,6);
data.setValue(14,0,’CAPE CANAVERAL, FL’);
data.setValue(14,1,1608);
data.setValue(15,0,’CAPE COD, MA’);
data.setValue(15,1,106);
data.setValue(16,0,’Capital Airport Air Guard Station, IL’);
data.setValue(16,1,121);
data.setValue(17,0,’CAVALIER, ND’);
data.setValue(17,1,118);
data.setValue(18,0,’CHANTILLY, VA’);
data.setValue(18,1,1025);
data.setValue(19,0,’CHEYENNE MTN, CO’);
data.setValue(19,1,573);
data.setValue(20,0,’CLEAR, AK’);
data.setValue(20,1,350);
data.setValue(21,0,’COLORADO SPRINGS, CO’);
data.setValue(21,1,154);
data.setValue(22,0,’COVENTRY, RI’);
data.setValue(22,1,55);
data.setValue(23,0,’CP MURRAY, WA’);
data.setValue(23,1,46);
data.setValue(24,0,’CRYSTAL CITY, VA’);
data.setValue(24,1,41);
data.setValue(25,0,’DAHLGREN, VA’);
data.setValue(25,1,50);
data.setValue(26,0,’DALLAS, TX’);
data.setValue(26,1,1);
data.setValue(27,0,’DAVIS MONTHAN, AZ’);
data.setValue(27,1,1);
data.setValue(28,0,’DECATUR, AL’);
data.setValue(28,1,2);
data.setValue(29,0,’DENVER, CO’);
data.setValue(29,1,114);
data.setValue(30,0,’DOBBINS, GA’);
data.setValue(30,1,118);
data.setValue(31,0,’DOVER, DE’);
data.setValue(31,1,1);
data.setValue(32,0,’EGLIN C6, FL’);
data.setValue(32,1,196);
data.setValue(33,0,’ELLINGTON, TX’);
data.setValue(33,1,121);
data.setValue(34,0,’F E WARREN, WY’);
data.setValue(34,1,170);
data.setValue(35,0,’FORT BRAGG, NC’);
data.setValue(35,1,9);
data.setValue(36,0,’FOUR LAKES, WA’);
data.setValue(36,1,124);
data.setValue(37,0,’FT GEORGE MEADE, MD’);
data.setValue(37,1,161);
data.setValue(38,0,’FT GORDON, GA’);
data.setValue(38,1,16);
data.setValue(39,0,’FT INDIANTOWN GAP, PA’);
data.setValue(39,1,254);
data.setValue(40,0,’GARLAND, TX’);
data.setValue(40,1,171);
data.setValue(41,0,’GENERAL DOWNING P, IL’);
data.setValue(41,1,127);
data.setValue(42,0,’GREELEY, CO’);
data.setValue(42,1,384);
data.setValue(43,0,’GREENBELT, MD’);
data.setValue(43,1,4);
data.setValue(44,0,’GRIFFISS, NY’);
data.setValue(44,1,80);
data.setValue(45,0,’GUNTER, AL’);
data.setValue(45,1,433);
data.setValue(46,0,’HAMMOND, LA’);
data.setValue(46,1,123);
data.setValue(47,0,’HANSCOM, MA’);
data.setValue(47,1,1);
data.setValue(48,0,’HILL, UT’);
data.setValue(48,1,16);
data.setValue(49,0,’HILO INTL, HI’);
data.setValue(49,1,123);
data.setValue(50,0,’HOLLOMAN, NM’);
data.setValue(50,1,94);
data.setValue(51,0,’HUNTSVILLE, AL’);
data.setValue(51,1,1);
data.setValue(52,0,’HURLBURT FIELD, FL’);
data.setValue(52,1,69);
data.setValue(53,0,’JACK BROOKS RGNL, TX’);
data.setValue(53,1,56);
data.setValue(54,0,’JB LANGLEY EUSTIS, VA’);
data.setValue(54,1,359);
data.setValue(55,0,’JB PRL HBR HICKAM, HI’);
data.setValue(55,1,312);
data.setValue(56,0,’Johnson Space Center, TX’);
data.setValue(56,1,45);
data.setValue(57,0,’KAENA POINT, HI’);
data.setValue(57,1,57);
data.setValue(58,0,’KAHULUI, HI’);
data.setValue(58,1,123);
data.setValue(59,0,’KEESLER, MS’);
data.setValue(59,1,177);
data.setValue(60,0,’KIRTLAND, NM’);
data.setValue(60,1,190);
data.setValue(61,0,’LACKLAND KELLY, TX’);
data.setValue(61,1,8);
data.setValue(62,0,’LACKLAND, TX’);
data.setValue(62,1,1639);
data.setValue(63,0,’Lambert-St Louis International-Stl, Saint Louis, St. Louis, MO’);
data.setValue(63,1,123);
data.setValue(64,0,’LOS ANGELES, CA’);
data.setValue(64,1,3249);
data.setValue(65,0,’LOVELL FIELD, TN’);
data.setValue(65,1,126);
data.setValue(66,0,’MACDILL, FL’);
data.setValue(66,1,209);
data.setValue(67,0,’MALMSTROM, MT’);
data.setValue(67,1,14);
data.setValue(68,0,’MAUI ISLAND, HI’);
data.setValue(68,1,17);
data.setValue(69,0,’MCCHORD, WA’);
data.setValue(69,1,113);
data.setValue(70,0,’MCCONNELL, KS’);
data.setValue(70,1,218);
data.setValue(71,0,’MCGUIRE, NJ’);
data.setValue(71,1,103);
data.setValue(72,0,’MILFORD, MA’);
data.setValue(72,1,123);
data.setValue(73,0,’MSP’);
data.setValue(73,1,118);
data.setValue(74,0,’MONTGOMERY, AL’);
data.setValue(74,1,122);
data.setValue(75,0,’NELLIS, NV’);
data.setValue(75,1,17);
data.setValue(76,0,’NEW BOSTON, NH’);
data.setValue(76,1,130);
data.setValue(77,0,’NEW CASTLE, DE’);
data.setValue(77,1,66);
data.setValue(78,0,’NEW ORLEANS NAS, LA’);
data.setValue(78,1,120);
data.setValue(79,0,’North Highlands Air National Guard Station, Sacramento, CA’);
data.setValue(79,1,178);
data.setValue(80,0,’N. Smithfield, RI 02896′);
data.setValue(80,1,255);
data.setValue(81,0,’NORTHFIELD, VT’);
data.setValue(81,1,35);
data.setValue(82,0,’OFFUTT, NE’);
data.setValue(82,1,42);
data.setValue(83,0,’ONIZUKA, CA’);
data.setValue(83,1,274);
data.setValue(84,0,’OTIS, MA’);
data.setValue(84,1,183);
data.setValue(85,0,’PAINE, WA’);
data.setValue(85,1,122);
data.setValue(86,0,’PATRICK, FL’);
data.setValue(86,1,2327);
data.setValue(87,0,’PENTAGON, VA’);
data.setValue(87,1,7);
data.setValue(88,0,’PETERSON, CO’);
data.setValue(88,1,5407);
data.setValue(89,0,’RANDOLPH, TX’);
data.setValue(89,1,68);
data.setValue(90,0,’ROBINS, GA’);
data.setValue(90,1,977);
data.setValue(91,0,’ROCHESTER, NY’);
data.setValue(91,1,1);
data.setValue(92,0,’ROSSLYN, VA’);
data.setValue(92,1,1);
data.setValue(93,0,’SALT LAKE CITY, UT’);
data.setValue(93,1,119);
data.setValue(94,0,’SAN BERNARDINO, CA’);
data.setValue(94,1,38);
data.setValue(95,0,’SAN DIEGO, CA’);
data.setValue(95,1,126);
data.setValue(96,0,’Schriever AFB, El Paso, Colorado’);
data.setValue(96,1,3162);
data.setValue(97,0,’SCOTT, IL’);
data.setValue(97,1,885);
data.setValue(98,0,’SEATTLE, WA’);
data.setValue(98,1,120);
data.setValue(99,0,’SEPULVEDA, CA’);
data.setValue(99,1,123);
data.setValue(100,0,’SO PORTLAND, ME’);
data.setValue(100,1,242);
data.setValue(101,0,’SPOKANE ANG, WA’);
data.setValue(101,1,120);
data.setValue(102,0,’SPRINGFIELD, OH’);
data.setValue(102,1,175);
data.setValue(103,0,’STALLION, NM’);
data.setValue(103,1,17);
data.setValue(104,0,’STANLY COUNTY, NC’);
data.setValue(104,1,206);
data.setValue(105,0,’STEWART, NY’);
data.setValue(105,1,119);
data.setValue(106,0,’SUITLAND, MD’);
data.setValue(106,1,5);
data.setValue(107,0,’SUNNYVALE, CA’);
data.setValue(107,1,10);
data.setValue(108,0,’TINKER, OK’);
data.setValue(108,1,1178);
data.setValue(109,0,’TRAVIS, CA’);
data.setValue(109,1,105);
data.setValue(110,0,’TULSA, OK’);
data.setValue(110,1,119);
data.setValue(111,0,’TYSON, TN’);
data.setValue(111,1,35);
data.setValue(112,0,’VANDENBERG, CA’);
data.setValue(112,1,4397);
data.setValue(113,0,’WASHINGTON, DC’);
data.setValue(113,1,70);
data.setValue(114,0,’WHEELER, HI’);
data.setValue(114,1,7);
data.setValue(115,0,’WHITE SAND Missile range, NM’);
data.setValue(115,1,67);
data.setValue(116,0,’WILL ROGERS WORLD, OK’);
data.setValue(116,1,121);
data.setValue(117,0,’WILLOW GROVE, PA’);
data.setValue(117,1,120);
data.setValue(118,0,’WRIGHT PATTERSON, OH’);
data.setValue(118,1,114);
data.setValue(119,0,’ZANESVILLE, OH’);
data.setValue(119,1,120);
var options = {};
options[‘region’] = ‘US’;
//options[‘width’] = 900;
//options[‘height’] = 600;
options[‘colors’] = [0xFF8747, 0xFFB581, 0xc06000]; //orange colors
options[‘dataMode’] = ‘markers’;

var geomap = new google.visualization.GeoMap(
document.getElementById(‘visualization’));
geomap.draw(data, options);
}

google.setOnLoadCallback(drawVisualization);

Guard Locations

google.load(‘visualization’, ‘1’, {‘packages’: [‘geomap’]});
google.setOnLoadCallback(drawMap);
function drawMap() {
var data = new google.visualization.DataTable();
data.addRows(56);
data.addColumn(‘string’, ‘City’);
data.addColumn(‘number’, ‘Auths’);
data.setValue(0,0,’ABSTON, AL’);
data.setValue(0,1,50);
data.setValue(1,0,’ALCOA, TN’);
data.setValue(1,1,276);
data.setValue(2,0,’BARKING SANDS, HI’);
data.setValue(2,1,138);
data.setValue(3,0,’BOISE AIR TERMINAL, ID’);
data.setValue(3,1,48);
data.setValue(4,0,’BRUNSWICK, GA’);
data.setValue(4,1,202);
data.setValue(5,0,’CAPE CANAVERAL, FL’);
data.setValue(5,1,122);
data.setValue(6,0,’Capital Airport Air Guard Station, IL’);
data.setValue(6,1,121);
data.setValue(7,0,’CLEAR, AK’);
data.setValue(7,1,108);
data.setValue(8,0,’COVENTRY, RI’);
data.setValue(8,1,55);
data.setValue(9,0,’CP MURRAY, WA’);
data.setValue(9,1,46);
data.setValue(10,0,’DOBBINS, GA’);
data.setValue(10,1,118);
data.setValue(11,0,’ELLINGTON, TX’);
data.setValue(11,1,121);
data.setValue(12,0,’F E WARREN, WY’);
data.setValue(12,1,170);
data.setValue(13,0,’FOUR LAKES, WA’);
data.setValue(13,1,124);
data.setValue(14,0,’FT GEORGE MEADE, MD’);
data.setValue(14,1,59);
data.setValue(15,0,’FT INDIANTOWN GAP, PA’);
data.setValue(15,1,254);
data.setValue(16,0,’GARLAND, TX’);
data.setValue(16,1,171);
data.setValue(17,0,’GENERAL DOWNING P, IL’);
data.setValue(17,1,127);
data.setValue(18,0,’GREELEY, CO’);
data.setValue(18,1,384);
data.setValue(19,0,’GRIFFISS, NY’);
data.setValue(19,1,80);
data.setValue(20,0,’HAMMOND, LA’);
data.setValue(20,1,123);
data.setValue(21,0,’HILO INTL, HI’);
data.setValue(21,1,123);
data.setValue(22,0,’JACK BROOKS RGNL, TX’);
data.setValue(22,1,56);
data.setValue(23,0,’JB PRL HBR HICKAM, HI’);
data.setValue(23,1,50);
data.setValue(24,0,’KAHULUI, HI’);
data.setValue(24,1,123);
data.setValue(25,0,’Lambert-St Louis International-Stl, Saint Louis, St. Louis, MO’);
data.setValue(25,1,123);
data.setValue(26,0,’LOVELL FIELD, TN’);
data.setValue(26,1,126);
data.setValue(27,0,’MACDILL, FL’);
data.setValue(27,1,200);
data.setValue(28,0,’MCCHORD, WA’);
data.setValue(28,1,113);
data.setValue(29,0,’MCCONNELL, KS’);
data.setValue(29,1,218);
data.setValue(30,0,’MILFORD, MA’);
data.setValue(30,1,123);
data.setValue(31,0,’MSP’);
data.setValue(31,1,118);
data.setValue(32,0,’MONTGOMERY, AL’);
data.setValue(32,1,122);
data.setValue(33,0,’NEW CASTLE, DE’);
data.setValue(33,1,66);
data.setValue(34,0,’NEW ORLEANS NAS, LA’);
data.setValue(34,1,120);
data.setValue(35,0,’North Highlands Air National Guard Station, Sacramento, CA’);
data.setValue(35,1,178);
data.setValue(36,0,’N. Smithfield, RI 02896′);
data.setValue(36,1,255);
data.setValue(37,0,’NORTHFIELD, VT’);
data.setValue(37,1,35);
data.setValue(38,0,’OTIS, MA’);
data.setValue(38,1,183);
data.setValue(39,0,’PAINE, WA’);
data.setValue(39,1,122);
data.setValue(40,0,’ROBINS, GA’);
data.setValue(40,1,121);
data.setValue(41,0,’SALT LAKE CITY, UT’);
data.setValue(41,1,119);
data.setValue(42,0,’SAN DIEGO, CA’);
data.setValue(42,1,126);
data.setValue(43,0,’SEATTLE, WA’);
data.setValue(43,1,120);
data.setValue(44,0,’SEPULVEDA, CA’);
data.setValue(44,1,123);
data.setValue(45,0,’SO PORTLAND, ME’);
data.setValue(45,1,242);
data.setValue(46,0,’SPOKANE ANG, WA’);
data.setValue(46,1,120);
data.setValue(47,0,’SPRINGFIELD, OH’);
data.setValue(47,1,175);
data.setValue(48,0,’STANLY COUNTY, NC’);
data.setValue(48,1,206);
data.setValue(49,0,’STEWART, NY’);
data.setValue(49,1,119);
data.setValue(50,0,’TULSA, OK’);
data.setValue(50,1,119);
data.setValue(51,0,’TYSON, TN’);
data.setValue(51,1,35);
data.setValue(52,0,’VANDENBERG, CA’);
data.setValue(52,1,212);
data.setValue(53,0,’WILL ROGERS WORLD, OK’);
data.setValue(53,1,121);
data.setValue(54,0,’WILLOW GROVE, PA’);
data.setValue(54,1,120);
data.setValue(55,0,’ZANESVILLE, OH’);
data.setValue(55,1,120);
var options = {};
options[‘region’] = ‘US’;
options[‘width’] = 1200;
options[‘height’] = 600;
options[‘colors’] = [0xFF8747, 0xFFB581, 0xc06000]; //orange colors
options[‘dataMode’] = ‘markers’;
var container = document.getElementById(‘markers_guard’);
var geomap = new google.visualization.GeoMap(container);
geomap.draw(data, options);
};

Reserve Locations

google.load(‘visualization’, ‘1’, {‘packages’: [‘geomap’]});
google.setOnLoadCallback(drawMap);
function drawMap() {
var data = new google.visualization.DataTable();
data.addRows(25);
data.addColumn(‘string’, ‘City’);
data.addColumn(‘number’, ‘Auths’);
data.setValue(0,0,’BOULDER, CO’);
data.setValue(0,1,4);
data.setValue(1,0,’BROOKS CITY BASE, TX’);
data.setValue(1,1,41);
data.setValue(2,0,’BUCKLEY, CO’);
data.setValue(2,1,230);
data.setValue(3,0,’CAPE CANAVERAL, FL’);
data.setValue(3,1,7);
data.setValue(4,0,’CAPE COD, MA’);
data.setValue(4,1,4);
data.setValue(5,0,’CHANTILLY, VA’);
data.setValue(5,1,43);
data.setValue(6,0,’CHEYENNE MTN, CO’);
data.setValue(6,1,1);
data.setValue(7,0,’COLORADO SPRINGS, CO’);
data.setValue(7,1,54);
data.setValue(8,0,’FT GEORGE MEADE, MD’);
data.setValue(8,1,1);
data.setValue(9,0,’JB LANGLEY EUSTIS, VA’);
data.setValue(9,1,35);
data.setValue(10,0,’Johnson Space Center, TX’);
data.setValue(10,1,2);
data.setValue(11,0,’KIRTLAND, NM’);
data.setValue(11,1,17);
data.setValue(12,0,’LACKLAND, TX’);
data.setValue(12,1,35);
data.setValue(13,0,’LOS ANGELES, CA’);
data.setValue(13,1,99);
data.setValue(14,0,’MCGUIRE, NJ’);
data.setValue(14,1,103);
data.setValue(15,0,’NEW BOSTON, NH’);
data.setValue(15,1,1);
data.setValue(16,0,’OFFUTT, NE’);
data.setValue(16,1,37);
data.setValue(17,0,’PATRICK, FL’);
data.setValue(17,1,92);
data.setValue(18,0,’PETERSON, CO’);
data.setValue(18,1,407);
data.setValue(19,0,’ROBINS, GA’);
data.setValue(19,1,112);
data.setValue(20,0,’Schriever AFB, El Paso, Colorado’);
data.setValue(20,1,413);
data.setValue(21,0,’SCOTT, IL’);
data.setValue(21,1,2);
data.setValue(22,0,’TINKER, OK’);
data.setValue(22,1,92);
data.setValue(23,0,’TRAVIS, CA’);
data.setValue(23,1,105);
data.setValue(24,0,’VANDENBERG, CA’);
data.setValue(24,1,200);
var options = {};
options[‘region’] = ‘US’;
options[‘width’] = 800;
options[‘height’] = 600;
options[‘colors’] = [0xFF8747, 0xFFB581, 0xc06000]; //orange colors
options[‘dataMode’] = ‘markers’;
var container = document.getElementById(‘markers_reserve’);
var geomap = new google.visualization.GeoMap(container);
geomap.draw(data, options);
};

By 0 Comments

All Air National Guard Forces

google.load(‘visualization’, ‘1’, {packages: [‘geomap’]});

function drawVisualization() {

var data = new google.visualization.DataTable();
data.addRows(51);
data.addColumn(‘string’, ‘Country’);
data.addColumn(‘number’, ‘Guard Authorizations’);
data.setValue(0,0,’US-AK’);
data.setValue(0,1,723);
data.setValue(1,0,’US-AL’);
data.setValue(1,1,759);
data.setValue(2,0,’US-AR’);
data.setValue(2,1,658);
data.setValue(3,0,’US-AZ’);
data.setValue(3,1,762);
data.setValue(4,0,’US-CA’);
data.setValue(4,1,1627);
data.setValue(5,0,’US-CO’);
data.setValue(5,1,464);
data.setValue(6,0,’US-CT’);
data.setValue(6,1,442);
data.setValue(7,0,’US-DC’);
data.setValue(7,1,49);
data.setValue(8,0,’US-DE’);
data.setValue(8,1,374);
data.setValue(9,0,’US-FL’);
data.setValue(9,1,703);
data.setValue(10,0,’US-GA’);
data.setValue(10,1,937);
data.setValue(11,0,’US-HI’);
data.setValue(11,1,735);
data.setValue(12,0,’US-IA’);
data.setValue(12,1,670);
data.setValue(13,0,’US-ID’);
data.setValue(13,1,394);
data.setValue(14,0,’US-IL’);
data.setValue(14,1,1120);
data.setValue(15,0,’US-IN’);
data.setValue(15,1,635);
data.setValue(16,0,’US-KS’);
data.setValue(16,1,746);
data.setValue(17,0,’US-KY’);
data.setValue(17,1,435);
data.setValue(18,0,’US-LA’);
data.setValue(18,1,465);
data.setValue(19,0,’US-MA’);
data.setValue(19,1,792);
data.setValue(20,0,’US-MD’);
data.setValue(20,1,998);
data.setValue(21,0,’US-ME’);
data.setValue(21,1,409);
data.setValue(22,0,’US-MI’);
data.setValue(22,1,958);
data.setValue(23,0,’US-MN’);
data.setValue(23,1,703);
data.setValue(24,0,’US-MO’);
data.setValue(25,1,839);
data.setValue(25,0,’US-MS’);
data.setValue(25,1,935);
data.setValue(26,0,’US-MT’);
data.setValue(26,1,362);
data.setValue(27,0,’US-NC’);
data.setValue(27,1,459);
data.setValue(28,0,’US-ND’);
data.setValue(28,1,391);
data.setValue(29,0,’US-NE’);
data.setValue(29,1,382);
data.setValue(30,0,’US-NH’);
data.setValue(30,1,360);
data.setValue(31,0,’US-NJ’);
data.setValue(31,1,754);
data.setValue(32,0,’US-NM’);
data.setValue(32,1,372);
data.setValue(33,0,’US-NV’);
data.setValue(33,1,385);
data.setValue(34,0,’US-NY’);
data.setValue(34,1,1876);
data.setValue(35,0,’US-OH’);
data.setValue(35,1,1445);
data.setValue(36,0,’US-OK’);
data.setValue(36,1,718);
data.setValue(37,0,’US-OR’);
data.setValue(37,1,719);
data.setValue(38,0,’US-PA’);
data.setValue(38,1,1293);
data.setValue(39,0,’US-RI’);
data.setValue(39,1,400);
data.setValue(40,0,’US-SC’);
data.setValue(40,1,375);
data.setValue(41,0,’US-SD’);
data.setValue(41,1,323);
data.setValue(42,0,’US-TN’);
data.setValue(42,1,1085);
data.setValue(43,0,’US-TX’);
data.setValue(43,1,1139);
data.setValue(44,0,’US-UT’);
data.setValue(44,1,466);
data.setValue(45,0,’US-VA’);
data.setValue(45,1,579);
data.setValue(46,0,’US-VT’);
data.setValue(46,1,359);
data.setValue(47,0,’US-WA’);
data.setValue(47,1,787);
data.setValue(48,0,’US-WI’);
data.setValue(48,1,741);
data.setValue(49,0,’US-WV’);
data.setValue(49,1,661);
data.setValue(50,0,’US-WY’);
data.setValue(50,1,404);

var options = {};
options[‘region’] = ‘US’;
options[‘dataMode’] = ‘regions’;
options[‘width’] = 900;
options[‘height’] = 600;

var geomap = new google.visualization.GeoMap(
document.getElementById(‘visualization’));
geomap.draw(data, options);
}

google.setOnLoadCallback(drawVisualization);

 
By 0 Comments