class USGeo::CoreBasedStatisticalArea

Core based statistical area composed of one or more counties anchored by an urban center. Includes both metropolitan (population > 50,000) and micropolitan (population > 10,000 but < 50,000) areas.

Public Class Methods

load!(uri = nil) click to toggle source
# File lib/us_geo/core_based_statistical_area.rb, line 27
def load!(uri = nil)
  location = data_uri(uri || "core_based_statistical_areas.csv")
  
  import! do
    load_data_file(location) do |row|
      load_record!(geoid: row["GEOID"]) do |record|
        record.type = (row["Population"].to_i >= 50_000 ? "MetropolitanArea" : "MicropolitanArea")
        record.name = row["Name"]
        record.csa_geoid = row["CSA"]
        record.population = row["Population"]
        record.housing_units = row["Housing Units"]
        record.land_area = area_meters_to_miles(row["Land Area"])
        record.water_area = area_meters_to_miles(row["Water Area"])
        record.lat = row["Latitude"]
        record.lng = row["Longitude"]
      end
    end
  end
end

Public Instance Methods

metropolitan?() click to toggle source
# File lib/us_geo/core_based_statistical_area.rb, line 48
def metropolitan?
  raise NotImplementedError
end
micropolitan?() click to toggle source
# File lib/us_geo/core_based_statistical_area.rb, line 52
def micropolitan?
  raise NotImplementedError
end