fips_lookup 0.3.0 → 0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ba43694a14b899305f855a2510c338388fa8b28c890357b0cb6060a5d1b3eb25
4
- data.tar.gz: 462f6b6a2818fc6a49292edb07f71a9fcb83997862bdae0fa76dbd63f268240f
3
+ metadata.gz: 96b11bfc0f893fe1907cbb0d86fb03c0081a831359dc8336401494063e0ed7df
4
+ data.tar.gz: 12c271c09b928147cd361d83dcfa72cfcb237a23bd6ea6c5d9ac8d386ddcbb7f
5
5
  SHA512:
6
- metadata.gz: a77a8a9057ca98f694c843b7e7cbdc9e32d1d189f79b5a6957a0b2089db3724a079d7b4faa16a7182995741554a82ed7bcca8df3e533654b78d3adc20fe44fd7
7
- data.tar.gz: 3421f5e848185d4b48c75440193ca0fccc9f2dcba6c73c75fd9fca0d230c77e471e9d8bceae7e4a272f518da94c78a3458c68d58ad91dae0e544f06a8c68cd07
6
+ metadata.gz: 5d9e9e713c4ae1a97367ccdf9ae56cd5cf603ea15ceadc3e42050294c13862bb1020794d3afbd42d0061a0da52b832d27d4cf8041111435f4e1c52a32aad3cd9
7
+ data.tar.gz: 35edf97cebb07a23676c7090605740d14a923a4a917eaf80b0fbca2d39f59629df188d86f59b435b01708b570ab3394b08c593f8cb16415824deeebac122cc41
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 3.0
2
+ TargetRubyVersion: 3.2
3
3
  NewCops: enable
4
4
 
5
5
  Style/StringLiterals:
data/Gemfile.lock CHANGED
@@ -1,79 +1,85 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fips_lookup (0.2.1)
4
+ fips_lookup (0.4)
5
5
  csv (~> 3.0)
6
+ zeitwerk (~> 2.8)
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
9
10
  specs:
10
- ast (2.4.2)
11
+ ast (2.4.3)
12
+ benchmark (0.5.0)
11
13
  csv (3.3.6)
12
- diff-lcs (1.5.1)
14
+ diff-lcs (1.6.2)
13
15
  erb (6.0.7)
14
- io-console (0.9.3)
16
+ io-console (0.9.4)
15
17
  irb (1.18.0)
16
18
  pp (>= 0.6.0)
17
19
  prism (>= 1.3.0)
18
20
  rdoc (>= 4.0.0)
19
21
  reline (>= 0.4.2)
20
- json (2.7.1)
21
- language_server-protocol (3.17.0.3)
22
+ json (3.1.0)
23
+ language_server-protocol (3.17.0.6)
24
+ lint_roller (1.1.0)
22
25
  logger (1.7.0)
23
26
  ostruct (0.6.3)
24
- parallel (1.24.0)
25
- parser (3.3.0.5)
27
+ parallel (2.3.0)
28
+ parser (3.3.12.0)
26
29
  ast (~> 2.4.1)
27
30
  racc
28
31
  pp (0.6.4)
29
32
  prettyprint
30
- prettyprint (0.2.0)
33
+ prettyprint (0.2.1)
31
34
  prism (1.9.0)
32
- racc (1.7.3)
35
+ racc (1.8.1)
33
36
  rainbow (3.1.1)
34
- rake (13.1.0)
37
+ rake (13.4.2)
35
38
  rbs (4.2.0)
36
39
  logger
37
40
  prism (>= 1.6.0)
38
41
  tsort
39
- rdoc (8.0.0)
42
+ rdoc (8.1.0)
40
43
  erb
41
44
  prism (>= 1.6.0)
42
45
  rbs (>= 4.0.0)
43
46
  tsort
44
- regexp_parser (2.9.0)
47
+ regexp_parser (2.13.1)
45
48
  reline (0.7.0)
46
49
  io-console (~> 0.5)
47
- rexml (3.2.6)
48
- rspec (3.13.0)
50
+ rspec (3.13.2)
49
51
  rspec-core (~> 3.13.0)
50
52
  rspec-expectations (~> 3.13.0)
51
53
  rspec-mocks (~> 3.13.0)
52
- rspec-core (3.13.0)
54
+ rspec-core (3.13.6)
53
55
  rspec-support (~> 3.13.0)
54
- rspec-expectations (3.13.0)
56
+ rspec-expectations (3.13.5)
55
57
  diff-lcs (>= 1.2.0, < 2.0)
56
58
  rspec-support (~> 3.13.0)
57
- rspec-mocks (3.13.0)
59
+ rspec-mocks (3.13.8)
58
60
  diff-lcs (>= 1.2.0, < 2.0)
59
61
  rspec-support (~> 3.13.0)
60
- rspec-support (3.13.1)
61
- rubocop (1.62.1)
62
- json (~> 2.3)
63
- language_server-protocol (>= 3.17.0)
64
- parallel (~> 1.10)
62
+ rspec-support (3.13.7)
63
+ rubocop (1.92.0)
64
+ json (>= 2.3)
65
+ language_server-protocol (~> 3.17.0.2)
66
+ lint_roller (~> 1.1.0)
67
+ parallel (>= 1.10)
65
68
  parser (>= 3.3.0.2)
66
69
  rainbow (>= 2.2.2, < 4.0)
67
- regexp_parser (>= 1.8, < 3.0)
68
- rexml (>= 3.2.5, < 4.0)
69
- rubocop-ast (>= 1.31.1, < 2.0)
70
+ regexp_parser (>= 2.11.3, < 3.0)
71
+ rubocop-ast (>= 1.49.0, < 2.0)
70
72
  ruby-progressbar (~> 1.7)
71
- unicode-display_width (>= 2.4.0, < 3.0)
72
- rubocop-ast (1.31.2)
73
- parser (>= 3.3.0.4)
73
+ unicode-display_width (>= 2.4.0, < 4.0)
74
+ rubocop-ast (1.50.0)
75
+ parser (>= 3.3.7.2)
76
+ prism (~> 1.7)
74
77
  ruby-progressbar (1.13.0)
75
78
  tsort (0.2.0)
76
- unicode-display_width (2.5.0)
79
+ unicode-display_width (3.3.0)
80
+ unicode-emoji (~> 4.3)
81
+ unicode-emoji (4.3.0)
82
+ zeitwerk (2.8.3)
77
83
 
78
84
  PLATFORMS
79
85
  arm64-darwin-21
@@ -81,6 +87,7 @@ PLATFORMS
81
87
  arm64-darwin-25
82
88
 
83
89
  DEPENDENCIES
90
+ benchmark (~> 0.2)
84
91
  fips_lookup!
85
92
  irb
86
93
  ostruct
data/README.md CHANGED
@@ -1,198 +1,136 @@
1
- # FipsLookup
1
+ # FIPS Lookup
2
2
 
3
- ## Overview
4
-
5
- Fips_lookup is a gem that functions as a lookup used to identify county and state FIPS codes.
6
-
7
- What are FIPS codes? The United States Federal Communications Commission (FCC) [says:](https://transition.fcc.gov/oet/info/maps/census/fips/fips.txt)
8
-
9
- > Federal Information Processing System (FIPS) Codes for States and Counties
10
- >
11
- > FIPS codes are numbers which uniquely identify geographic areas. The number of
12
- digits in FIPS codes vary depending on the level of geography. State-level FIPS
13
- codes have two digits, county-level FIPS codes have five digits of which the
14
- first two are the FIPS code of the state to which the county belongs.
15
-
16
- _Note:_ FIPS codes are updated by the US census department they can be seen and accessed [here](https://www.census.gov/library/reference/code-lists/ansi.html).
17
-
18
- <br>
19
-
20
- **Interesting challenge:** <br>
21
- Multiple states can have the same county name — 16 states have a "Wayne County". This means a state & county pair is required to lookup and return the proper FIPS code.
22
- This gem utilizes memoization to increase lookup efficiency to csv files without adding complexity to your app.
3
+ `fips_lookup` provides lookups for U.S. states, counties, and county subdivisions using Census FIPS identifiers and names. Results are hashes containing the fields for the requested geography. Lookup data is stored in CSVs, loaded into memory per state, indexed/memoized then searched at runtime.
23
4
 
24
5
  ## Installation
25
6
 
26
- Add this line to your application's Gemfile:
7
+ Add the gem to your application's Gemfile:
27
8
 
28
9
  ```ruby
29
- gem 'fips_lookup'
10
+ gem "fips_lookup"
30
11
  ```
31
12
 
32
- And then execute:
33
-
34
- $ bundle install
35
-
36
- Or install it yourself as:
37
-
38
- $ gem install fips_lookup
13
+ Then run `bundle install`.
39
14
 
40
15
  ## Usage
41
- <br>
42
-
43
- ### County info from lookup: [.county(state_param: "state", county_param: "county name", _return_nil: false_)](/fips_lookup/lib/fips_lookup.rb?#L24)
44
16
 
45
- Find County specific details using memoized hash state and county input. [ Returns state code, county fips, county name, and county class codes ]
17
+ Require the gem if your application does not use Bundler's automatic loading:
46
18
 
47
- Input the state name and county name and return the corresponding 5 digit FIPS code:
48
- ```
49
- FipsLookup.county(state_param: "AL", county_param: "Autauga County") # => {:state_code=>"AL", :fips=>"01001", :name=>"Autauga County", :class_code=>"H1"}
19
+ ```ruby
20
+ require "fips"
50
21
  ```
51
22
 
52
- * `state_param` - (String) flexible - able to find the state using its' 2 letter abbreviation ("AL"), 2 digit FIPS number ("01"), state name ("Alabama"), or the state ANSI code ("01779775").
53
- * `county_param` - (String) must match spelling set by US Census Bureau, [resource library](https://www.census.gov/library/reference/code-lists/ansi.html)
54
- — "Autauga County" can be found, "Autauga" can not be found.
55
- * `return_nil` - (Boolean) is an optional parameter that when used overrides any Errors from input and returns an empty hash `{}`.
56
- * Ex: `FipsLookup.county(state_param: "AL", county_param: "Autauga", return_nil: true) # => {}`
57
-
58
- * Ex: Access the [:fips] symbol after a lookup `FipsLookup.county(state_param: "AL", county_param: "Autauga", return_nil: true)[:fips] # => nil`
23
+ ### General lookup
59
24
 
60
- <br>
25
+ `FIPS.lookup` dispatches to the state, county, or subdivision lookup based on the supplied identifiers:
61
26
 
62
- **How does it work?:**
27
+ ```ruby
28
+ FIPS.lookup(fips: "02")
29
+ # => { fips: "02", abbr: "AK", name: "Alaska", ansi: "01785533" }
63
30
 
64
- Class attribute hash: [`@county_fips = { ["state_code", "county name"] => {:state_code, :fips, :name, :class_code} }`](/fips_lookup/lib/fips_lookup.rb?#L21)
31
+ FIPS.lookup(fips: "02060")
32
+ # => county record for Bristol Bay Borough
65
33
 
66
- The `county_fips` hash is built of key value pairs that grows as the `.county` method is used. Calls to `county` first searches `@county_fips` attribute with `[state_code, county_param]` before opening `.csv` files. Therefore any duplicate calls made to `county` will return the value stored in `@county_fips`. Instance variable lasts the lifespan of the FipsLookup class.
67
- ```
68
- FipsLookup.county_fips # => { ["AL", "Autauga County"] => {:state_code=>"AL", :fips=>"01001", :name=>"Autauga County", :class_code=>"H1"} }
69
- ```
70
- <br>
71
- <hr>
34
+ FIPS.lookup(fips: "0206009050")
35
+ # => subdivision record for Bristol Bay census subarea
72
36
 
73
- ### State / County lookup using FIPS code [.fips_county(fips: "fips", return_nil: _return_nil=false_)](/fips_lookup/lib/fips_lookup.rb?#L38)
37
+ FIPS.lookup(state: "Alaska", county: "Bristol Bay Borough")
38
+ # => county record for Bristol Bay Borough
74
39
 
75
- Input the 5 digit FIPS code for a county and return the county name and state name in an Array:
76
- ```
77
- FipsLookup.fips_county(fips: "01001") # => ["Autauga County", "AL"]
40
+ FIPS.lookup(state: "Alaska", county: "Bristol Bay Borough",
41
+ subdivision: "Bristol Bay census subarea")
42
+ # => subdivision record for Bristol Bay census subarea
78
43
  ```
79
44
 
80
- * `fips` - (String) must be a 5 character string of numbers ex: "01001".
81
- * `return_nil` - (Boolean) is an optional parameter that when used overrides any Errors from input and returns `nil`.
82
- * Ex: `FipsLookup.fips_county(fips: "03000", return_nil: true) # => nil`
45
+ FIPS codes must be strings so leading zeroes are preserved. The general dispatcher supports state FIPS (2 digits), county FIPS (5 digits), and full subdivision FIPS (10 digits). Contextual forms are also available through the specific lookup methods below.
83
46
 
84
- <br>
85
- <hr>
47
+ ### State lookup
86
48
 
87
- ### State info from lookup [.state(state_param: "state", _return_nil: false_)](/fips_lookup/lib/fips_lookup.rb?#L33)
49
+ ```ruby
50
+ FIPS::State.lookup(fips: "02")
51
+ FIPS::State.lookup(state: "AK")
52
+ FIPS::State.lookup(state: "Alaska")
53
+ FIPS::State.lookup(state: "01785533") # ANSI code
54
+ ```
88
55
 
89
- Using state information input return a dictionary of values for keys fips, state code, state name, state ansi code.
56
+ The returned state hash has `:fips`, `:abbr`, `:name`, and `:ansi` keys. `FIPS::State.all` returns all state records in the same format:
90
57
 
58
+ ```ruby
59
+ FIPS::State.all.map { |state| [state[:name], state[:abbr]] }
91
60
  ```
92
- FipsLookup.state(state_param: "01") # => {:fips=>"01", :code=>"AL", :name=>"Alabama", :ansi=>"01779775"}
93
- ```
94
-
95
- * `state_param` - (String) flexible - able to find the state using its' 2 letter abbreviation ("AL"), 2 digit FIPS number ("01"), state name ("Alabama"), or the state ANSI code ("01779775").
96
- * `return_nil` - (Boolean) is an optional parameter that when used overrides any Errors from input and returns an empty hash `{}`.
97
61
 
98
- * `.state` functions similarly to the `.county` method in how it uses a memoized hash `@state_fips` to store state parameter lookups and return values before searching `state.csv` for more.
62
+ ### County lookup
99
63
 
100
- **State code lookup hash** [`STATE_CODES["state code"] # => "fips code"`](/fips_lookup/lib/fips_lookup.rb?#L8)
101
- Can also be used for quick lookup translation between state 2-character abbreviations and state 2-digit FIPS code.
102
- ```
103
- FipsLookup::STATE_CODES["AL"] #=> "01"
104
- FipsLookup::STATE_CODES.key("01") # => "AL"
64
+ ```ruby
65
+ FIPS::County.lookup(fips: "02060")
66
+ FIPS::County.lookup(fips: "060", state: "AK")
67
+ FIPS::County.lookup(fips: "02", county: "Bristol Bay Borough")
68
+ FIPS::County.lookup(state: "Alaska", county: "Bristol Bay Borough")
105
69
  ```
106
- <br>
107
- <hr>
108
70
 
109
- ### Finding state abbreviation with flexible input [.find_state_code(state_param: "state", _return_nil: false_)](/fips_lookup/lib/fips_lookup.rb?#L52)
71
+ The returned county hash has `:state_abbr`, `:fips`, `:gnis`, `:name`, `:class_code`, and `:status` keys. State identifiers may be an abbreviation, name, FIPS code, or ANSI code.
110
72
 
111
- * `state_param` - (String) flexible - able to find the state using its' 2 letter abbreviation ("AL"), 2 digit FIPS number ("01"), state name ("Alabama"), or the state ANSI code ("01779775").
112
- * `return_nil` - (Boolean) is an optional parameter that when used overrides any Errors from input and returns nil.
73
+ To list counties in a state, use `FIPS::County.all`:
113
74
 
114
- ```
115
- FipsLookup.find_state_code(state_param: "MicHiGan") # => "MI"
75
+ ```ruby
76
+ counties = FIPS::County.all(state: "AK")
77
+ county_names = counties.map { |county| county[:name] }
116
78
  ```
117
79
 
118
- <br>
119
- <hr>
80
+ ### Subdivision lookup
120
81
 
121
- ## Accessing county and state `.csv` files in your Rails app
82
+ ```ruby
83
+ FIPS::Subdivision.lookup(fips: "0206009050")
84
+ FIPS::Subdivision.lookup(fips: "09050", state: "AK")
85
+ FIPS::Subdivision.lookup(fips: "02060", subdivision: "Bristol Bay census subarea")
86
+ FIPS::Subdivision.lookup(fips: "060", state: "AK",
87
+ subdivision: "Bristol Bay census subarea")
88
+ FIPS::Subdivision.lookup(state: "Alaska", county: "Bristol Bay Borough",
89
+ subdivision: "Bristol Bay census subarea")
90
+ ```
122
91
 
123
- Data `csv` files are made accessible incase extra configuration is needed. Here is an example in a Rails application that displays the list of state and county names within a form. This is done by accessing the CSV files included in this gem, examples below are from Rails 7 app called [Build With](https://github.com/3barroso/build_with)
92
+ The returned subdivision hash has `:state_abbr`, `:fips`, `:county_name`, `:gnis`, `:name`, `:class_code`, and `:status` keys. To retrieve subdivision records for a state, optionally filtered by county:
124
93
 
125
- ### Path to state.csv file [.state_file](/fips_lookup/lib/fips_lookup.rb?#L64)
94
+ ```ruby
95
+ FIPS::Subdivision.all(state: "AK")
96
+ FIPS::Subdivision.all(state: "AK", county: "Bristol Bay Borough")
97
+ ```
126
98
 
127
- Display state codes in a select option dropdown by using CSV on the FipsLookup method accessing the state.csv file ( `FipsLookup.state_file #=> "path/to/data/state.csv"` )
99
+ County and subdivision name matching is case-insensitive. State identifiers accept abbreviations, names, FIPS codes, and ANSI codes.
128
100
 
129
- ```
130
- # in controller.rb
131
- @state_options = []
132
- CSV.foreach(FipsLookup.state_file) do |state_row|
133
- @state_options << [state_row[2], state_row[1]]
134
- end
135
- ```
101
+ ### Source data
136
102
 
137
- ```
138
- # in html.erb (within `form_with do |form|` block)
139
- <%= form.label :state, style: "display: block" %>
140
- <%= form.select :state, @state_options %>
141
- ```
103
+ The raw text files are retained under `source_data/` for building and auditing CSV files. They are development inputs, are not used at runtime, and are not included in the published gem. Runtime lookups read through the CSV files on a per state occurrence.
142
104
 
143
- ### Path to state specific county csv files [.county_file(state_code: "state param")](/fips_lookup/lib/fips_lookup.rb?#L59)
105
+ CSV files used and published within the gem are stored within `lib/data/` and can be generated by running `bin/transcribe/parse_counties` and `bin/transcribe/parse_subdivisions`
144
106
 
145
- Display County name options in a select option dropdown by using CSV on the FipsLookup method accessing the county specific .csv file ( `FipsLookup.county_file(state_code: "MI") #=> "path/to/data/county/MI.csv"` )
107
+ ### Errors
146
108
 
147
- * `state_param` – strict parameter, must be string abbreviation of State code (suggested usage is to call `.find_state_code` above first)
109
+ Malformed or insufficient inputs raise `ArgumentError`. Validly formatted identifiers that do not match a record raise `FIPS::NotFoundError`, a subclass of `StandardError`:
148
110
 
149
- ```
150
- # in controller.rb
151
- state_code = address_params[:state] # or use find_state_code from user input
152
- @county_options = []
153
- CSV.foreach(FipsLookup.county_file(state_code:)) do |county_row|
154
- @county_options << county_row[3]
111
+ ```ruby
112
+ begin
113
+ FIPS::County.lookup(fips: "02999")
114
+ rescue FIPS::NotFoundError => error
115
+ warn error.message
155
116
  end
156
117
  ```
157
118
 
158
- ```
159
- # in html.erb (within `form_with do |form|` block)
160
- <%= form.label :county, style: "display: block" %>
161
- <%= form.select :county, @county_options %>
162
- ```
163
-
164
119
  ## Development
165
120
 
166
- Download the repository locally, and from the directory run `bin/setup` to install gem dependencies.
167
-
168
- Check installation and any changes by running `rspec` to run the tests.
169
-
170
- Use `bin/console` to open IRB console with FIPS gem included and ready to use.
171
-
172
- To install this gem onto your local machine, run `bundle exec rake install`.
173
-
174
- To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
121
+ Install dependencies with `bin/setup`. Run tests and lint with:
175
122
 
176
- ### New to Ruby?
177
- On Mac, follow steps 1 and 2 of [this guide](https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-macos) to install ruby with rbenv using brew.
178
-
179
- For PC, consult official ruby language [installation guides](https://www.ruby-lang.org/en/documentation/installation/).
180
-
181
- #### New to this gem?
182
-
183
- * The main working file is `lib/fips_lookup.rb` with usage examples in the test file: `spec/fips_lookup_spec.rb`
184
- * [The first pull request](https://github.com/3barroso/fips_lookup/pull/1) contains more details to decisions and considerations when first launching gem.
123
+ ```sh
124
+ bundle exec rspec
125
+ bundle exec rubocop
126
+ ```
185
127
 
128
+ Open an IRB console with `bin/console`. Install locally with `bundle exec rake install`.
186
129
 
187
130
  ## Contributing
188
131
 
189
- Bug reports and pull requests are welcome on GitHub at the [FIPS repo](https://github.com/3barroso/fips_lookup).
190
- This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/3barroso/fips_lookup/blob/main/CODE_OF_CONDUCT.md).
132
+ Bug reports and pull requests are welcome in the [FIPS repository](https://github.com/3barroso/fips_lookup). Contributors are expected to follow the [Code of Conduct](CODE_OF_CONDUCT.md).
191
133
 
192
134
  ## License
193
135
 
194
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
195
-
196
- ## Code of Conduct
197
-
198
- Everyone interacting in the FIPS project's codebase, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/3barroso/fips_lookup/blob/main/CODE_OF_CONDUCT.md).
136
+ This gem is available under the terms of the MIT License. See [LICENSE.txt](LICENSE.txt).
@@ -1,4 +1,3 @@
1
- CT,09,001,Fairfield County,00000,00000000,County subdivisions not defined,Z9,F
2
1
  CT,09,001,Fairfield County,04720,00213390,Bethel town,T1,A
3
2
  CT,09,001,Fairfield County,08070,00213396,Bridgeport town,T5,C
4
3
  CT,09,001,Fairfield County,08980,00213399,Brookfield town,T1,A
@@ -77,7 +76,6 @@ CT,09,005,Litchfield County,79720,00213524,Washington town,T1,A
77
76
  CT,09,005,Litchfield County,80490,00213527,Watertown town,T1,A
78
77
  CT,09,005,Litchfield County,86440,00213536,Winchester town,T1,A
79
78
  CT,09,005,Litchfield County,87910,00213540,Woodbury town,T1,A
80
- CT,09,007,Middlesex County,00000,00000000,County subdivisions not defined,Z9,F
81
79
  CT,09,007,Middlesex County,14300,00213407,Chester town,T1,A
82
80
  CT,09,007,Middlesex County,15350,00213408,Clinton town,T1,A
83
81
  CT,09,007,Middlesex County,18080,00213414,Cromwell town,T1,A
@@ -93,7 +91,6 @@ CT,09,007,Middlesex County,47360,00213461,Middletown town,T5,C
93
91
  CT,09,007,Middlesex County,57320,00213484,Old Saybrook town,T1,A
94
92
  CT,09,007,Middlesex County,61800,00213491,Portland town,T1,A
95
93
  CT,09,007,Middlesex County,81680,00213528,Westbrook town,T1,A
96
- CT,09,009,New Haven County,00000,00000000,County subdivisions not defined,Z9,F
97
94
  CT,09,009,New Haven County,01220,00213383,Ansonia town,T5,C
98
95
  CT,09,009,New Haven County,03250,00213387,Beacon Falls town,T1,A
99
96
  CT,09,009,New Haven County,04580,00213389,Bethany town,T1,A
@@ -121,7 +118,6 @@ CT,09,009,New Haven County,80070,00213525,Waterbury town,T5,C
121
118
  CT,09,009,New Haven County,82870,00213530,West Haven town,T5,C
122
119
  CT,09,009,New Haven County,87560,00213538,Wolcott town,T1,A
123
120
  CT,09,009,New Haven County,87700,00213539,Woodbridge town,T1,A
124
- CT,09,011,New London County,00000,00000000,County subdivisions not defined,Z9,F
125
121
  CT,09,011,New London County,06820,00213394,Bozrah town,T1,A
126
122
  CT,09,011,New London County,15910,00213409,Colchester town,T1,A
127
123
  CT,09,011,New London County,23400,00213426,East Lyme town,T1,A
@@ -1,4 +1,3 @@
1
- GU,66,010,Guam,00000,00000000,County subdivision not defined,Z9,F
2
1
  GU,66,010,Guam,04650,01927055,Agana Heights municipality,Z1,N
3
2
  GU,66,010,Guam,07250,01927056,Agat municipality,Z1,N
4
3
  GU,66,010,Guam,13100,01927057,Asan municipality,Z1,N
@@ -212,7 +212,6 @@ IL,17,029,Coles County,54014,00429462,North Okaw township,T1,A
212
212
  IL,17,029,Coles County,57615,00429527,Paradise township,T1,A
213
213
  IL,17,029,Coles County,60469,00429577,Pleasant Grove township,T1,A
214
214
  IL,17,029,Coles County,68718,00427931,Seven Hickory township,T1,A
215
- IL,17,031,Cook County,00000,00000000,County subdivisions not defined,Z9,F
216
215
  IL,17,031,Cook County,03831,00428638,Barrington township,T1,A
217
216
  IL,17,031,Cook County,05586,00428666,Berwyn township,T5,B
218
217
  IL,17,031,Cook County,06561,00428682,Bloom township,T1,A
@@ -725,7 +724,6 @@ IL,17,095,Knox County,71435,00429782,Sparta township,T1,A
725
724
  IL,17,095,Knox County,76303,00429845,Truro township,T1,A
726
725
  IL,17,095,Knox County,77824,00429871,Victoria township,T1,A
727
726
  IL,17,095,Knox County,78565,00429888,Walnut Grove township,T1,A
728
- IL,17,097,Lake County,00000,00000000,County subdivisions not defined,Z9,F
729
727
  IL,17,097,Lake County,01608,00428594,Antioch township,T1,A
730
728
  IL,17,097,Lake County,03220,00428626,Avon township,T1,A
731
729
  IL,17,097,Lake County,05326,00428660,Benton township,T1,A
@@ -504,7 +504,6 @@ IN,18,087,LaGrange County,49338,00453625,Milford township,T1,A
504
504
  IN,18,087,LaGrange County,52686,00453661,Newbury township,T1,A
505
505
  IN,18,087,LaGrange County,72152,00453866,Springfield township,T1,A
506
506
  IN,18,087,LaGrange County,78506,00453948,Van Buren township,T1,A
507
- IN,18,089,Lake County,00000,00000000,County subdivisions not defined,Z9,F
508
507
  IN,18,089,Lake County,09820,00453154,Calumet township,T1,A
509
508
  IN,18,089,Lake County,11026,00453171,Cedar Creek township,T1,A
510
509
  IN,18,089,Lake County,11476,00453184,Center township,T1,A
@@ -714,7 +713,6 @@ IN,18,125,Pike County,47016,00453611,Marion township,T1,A
714
713
  IN,18,125,Pike County,50418,00453644,Monroe township,T1,A
715
714
  IN,18,125,Pike County,58356,00453710,Patoka township,T1,A
716
715
  IN,18,125,Pike County,80936,00454013,Washington township,T1,A
717
- IN,18,127,Porter County,00000,00000000,County subdivisions not defined,Z9,F
718
716
  IN,18,127,Porter County,06580,00453130,Boone township,T1,A
719
717
  IN,18,127,Porter County,11566,00453189,Center township,T1,A
720
718
  IN,18,127,Porter County,37314,00453461,Jackson township,T1,A
@@ -1,4 +1,3 @@
1
- MA,25,001,Barnstable County,00000,00000000,County subdivisions not defined,Z9,F
2
1
  MA,25,001,Barnstable County,03690,00618248,Barnstable Town city,C5,F
3
2
  MA,25,001,Barnstable County,07175,00619412,Bourne town,T1,A
4
3
  MA,25,001,Barnstable County,07980,00618249,Brewster town,T1,A
@@ -46,7 +45,6 @@ MA,25,003,Berkshire County,73335,00618275,Washington town,T1,A
46
45
  MA,25,003,Berkshire County,77990,00618276,West Stockbridge town,T1,A
47
46
  MA,25,003,Berkshire County,79985,00619430,Williamstown town,T1,A
48
47
  MA,25,003,Berkshire County,80685,00619431,Windsor town,T1,A
49
- MA,25,005,Bristol County,00000,00000000,County subdivisions not defined,Z9,F
50
48
  MA,25,005,Bristol County,00520,01729673,Acushnet town,T1,A
51
49
  MA,25,005,Bristol County,02690,00618278,Attleboro city,C5,F
52
50
  MA,25,005,Bristol County,05280,00619432,Berkley town,T1,A
@@ -74,7 +72,6 @@ MA,25,007,Dukes County,26325,00618290,Gosnold town,T1,A
74
72
  MA,25,007,Dukes County,50390,00619442,Oak Bluffs town,T1,A
75
73
  MA,25,007,Dukes County,69940,00619443,Tisbury town,T1,A
76
74
  MA,25,007,Dukes County,78235,00618291,West Tisbury town,T1,A
77
- MA,25,009,Essex County,00000,00000000,County subdivisions not defined,Z9,F
78
75
  MA,25,009,Essex County,01260,00618292,Amesbury Town city,C5,F
79
76
  MA,25,009,Essex County,01465,00619444,Andover town,T1,A
80
77
  MA,25,009,Essex County,05595,00618293,Beverly city,C5,F
@@ -232,7 +229,6 @@ MA,25,017,Middlesex County,77255,00618245,Weston town,T1,A
232
229
  MA,25,017,Middlesex County,80230,00618246,Wilmington town,T1,A
233
230
  MA,25,017,Middlesex County,80510,00618247,Winchester town,T1,A
234
231
  MA,25,017,Middlesex County,81035,00619411,Woburn city,C5,F
235
- MA,25,019,Nantucket County,00000,00000000,County subdivisions not defined,Z9,F
236
232
  MA,25,019,Nantucket County,43790,00619376,Nantucket town,T1,A
237
233
  MA,25,021,Norfolk County,02935,00618314,Avon town,T1,A
238
234
  MA,25,021,Norfolk County,04930,00618315,Bellingham town,T1,A
@@ -262,7 +258,6 @@ MA,25,021,Norfolk County,74175,00618332,Wellesley town,T1,A
262
258
  MA,25,021,Norfolk County,78690,00618333,Westwood town,T1,A
263
259
  MA,25,021,Norfolk County,78972,00619462,Weymouth Town city,C5,F
264
260
  MA,25,021,Norfolk County,82315,00618334,Wrentham town,T1,A
265
- MA,25,023,Plymouth County,00000,00000000,County subdivisions not defined,Z9,F
266
261
  MA,25,023,Plymouth County,00170,00618336,Abington town,T1,A
267
262
  MA,25,023,Plymouth County,08130,00619466,Bridgewater Town city,C5,F
268
263
  MA,25,023,Plymouth County,09000,00619467,Brockton city,C5,F
@@ -290,7 +285,6 @@ MA,25,023,Plymouth County,60330,00618352,Scituate town,T1,A
290
285
  MA,25,023,Plymouth County,72985,00618353,Wareham town,T1,A
291
286
  MA,25,023,Plymouth County,75260,00618354,West Bridgewater town,T1,A
292
287
  MA,25,023,Plymouth County,79530,00618355,Whitman town,T1,A
293
- MA,25,025,Suffolk County,00000,00000000,County subdivisions not defined,Z9,F
294
288
  MA,25,025,Suffolk County,07000,00619463,Boston city,C5,F
295
289
  MA,25,025,Suffolk County,13205,00619464,Chelsea city,C5,F
296
290
  MA,25,025,Suffolk County,56585,00619465,Revere city,C5,F