Пример #1
0
def test_random_state():

    # no seeds
    reno = Community.from_census(msa_fips="39900", datastore=DataStore())
    r1 = reno.cluster(columns=columns, method="kmeans", n_clusters=5)
    r2 = reno.cluster(columns=columns, method="kmeans", n_clusters=5)
    card1 = r1.gdf.groupby("kmeans").count()["geoid"].values
    card1.sort()
    card2 = r2.gdf.groupby("kmeans").count()["geoid"].values
    card2.sort()
    # test that the cardinalities are different
    np.testing.assert_raises(
        AssertionError, np.testing.assert_array_equal, card1, card2
    )

    # seeds
    reno = Community.from_census(msa_fips="39900", datastore=DataStore())
    seed = 10
    r1 = reno.cluster(columns=columns, method="kmeans", n_clusters=5, random_state=seed)
    r2 = reno.cluster(columns=columns, method="kmeans", n_clusters=5, random_state=seed)
    card1 = r1.gdf.groupby("kmeans").count()["geoid"].values
    card1.sort()
    card2 = r2.gdf.groupby("kmeans").count()["geoid"].values
    card2.sort()
    # test that the cardinalities are identical
    np.testing.assert_array_equal(card1, card2)
Пример #2
0
def test_harmonize_area():
    la = Community.from_census(county_fips="06037")

    harmonized = la.harmonize(2000,
                              extensive_variables=["n_total_housing_units"],
                              intensive_variables=["p_vacant_housing_units"],
                              raster=local_raster)

    assert_allclose(
        harmonized.gdf[harmonized.gdf.year ==
                       2000].n_total_housing_units.sum(),
        3271578.974605,
        atol=600,
    )
    assert_allclose(
        harmonized.gdf[harmonized.gdf.year ==
                       1990].n_total_housing_units.sum(),
        3163560.996240,
    )
    assert_allclose(
        harmonized.gdf[harmonized.gdf.year ==
                       2010].n_total_housing_units.sum(),
        3441415.997327,
    )
    assert_allclose(harmonized.gdf.p_vacant_housing_units.sum(),
                    33011.58879,
                    rtol=1e-03)
Пример #3
0
def test_harmonize_area_weighted():

    balt = Community.from_census(county_fips="24510")
    harmonized_nlcd_weighted = balt.harmonize(
        2000,
        extensive_variables=["n_total_housing_units"],
        intensive_variables=["p_vacant_housing_units"],
        weights_method="dasymetric",
        raster=local_raster)
    assert harmonized_nlcd_weighted.gdf.n_total_housing_units.sum() == 900620.0
    assert_allclose(harmonized_nlcd_weighted.gdf.p_vacant_housing_units.sum(),
                    8832.8796,
                    rtol=1e-03)
Пример #4
0
def test_Community_from_census():
    assert Community.from_census(state_fips="24").gdf.shape == (3759, 195)
Пример #5
0
def test_Community_from_boundary():
    msas = datasets.msas()

    reno = msas[msas["geoid"] == "39900"]
    rn = Community.from_census(boundary=reno)
    assert rn.gdf.shape == (234, 195)
Пример #6
0
def test_Community_from_stcofips():

    mn = Community.from_census(state_fips="27", county_fips=["26001", "26002"])
    assert mn.gdf.shape == (3881, 195)
Пример #7
0
def test_Community_from_cbsa():

    la = Community.from_census(msa_fips="31080")
    assert la.gdf.shape == (7683, 195)
Пример #8
0
from geosnap import Community, io
import numpy as np

reno = Community.from_census(msa_fips="39900")
columns = ["median_household_income", "p_poverty_rate", "p_unemployment_rate"]

# Aspatial Clusters


def test_gm():

    r = reno.cluster(columns=columns,
                     method="gaussian_mixture",
                     best_model=True)
    assert len(r.gdf.gaussian_mixture.unique()) >= 5


def test_ward():
    r = reno.cluster(columns=columns, method="ward")
    assert len(r.gdf.ward.unique()) == 7


def test_spectral():

    r = reno.cluster(columns=columns, method="spectral")
    assert len(r.gdf.spectral.unique()) == 7


def test_kmeans():

    r = reno.cluster(columns=columns, method="kmeans")
Пример #9
0
from geosnap import Community
import numpy as np
from geosnap import DataStore
from numpy.testing import assert_array_equal, assert_array_almost_equal

reno = Community.from_census(msa_fips="39900", datastore=DataStore())
columns = [
    "median_household_income",
    "p_poverty_rate",
    "p_unemployment_rate",
]

# Aspatial Clusters


def test_gm():

    r = reno.cluster(columns=columns, method="gaussian_mixture", best_model=True)
    assert len(r.gdf.gaussian_mixture.unique()) >= 5


def test_ward():
    r = reno.cluster(columns=columns, method="ward")
    assert len(r.gdf.ward.unique()) == 7


def test_spectral():

    r = reno.cluster(columns=columns, method="spectral")
    assert len(r.gdf.spectral.unique()) == 7
Пример #10
0
#%%
from geosnap import Community

#%%
fip = '48'
out1 = '/tmp/TX_2000.wkt'
out2 = '/tmp/TX_2010.wkt'

#%%
data = Community.from_census(state_fips='48')
dataset = data.gdf[['geometry', 'geoid', 'year']]

#%%
D_2000 = dataset[(dataset.year == 2000)]
D_2000.to_csv(out1, sep='\t', index=False, header=False)

#%%
D_2010 = dataset[(dataset.year == 2010)]
D_2010.to_csv(out2, sep='\t', index=False, header=False)