示例#1
0
 def test_no_cost_matrix(self):
     network = copy.deepcopy(network_lattice_1x1_geomelem)
     pts = [Point(1, 1), Point(3, 1), Point(1, 3), Point(3, 3)]
     od_data = {"obs_id": ["a", "b", "c", "d"]}
     obs = geopandas.GeoDataFrame(od_data, geometry=pts)
     args = network, obs.copy()
     kwargs = {"df_name": "obs1", "df_key": "obs_id"}
     observations = tigernet.Observations(*args, **kwargs)
     with self.assertRaises(AttributeError):
         tigernet.obs2obs_cost_matrix(observations, network)
示例#2
0
    def test_net_snap(self):
        known_mtx = numpy.array([
            [2336.13968088, 2090.68486173, 1923.01392459, 1802.63808338],
            [2751.92864805, 2394.33510891, 3035.812681, 3928.87960652],
            [3300.29611263, 2742.40413399, 3383.88170609, 4599.42691566],
            [2293.08736082, 5127.99829766, 4960.32736052, 3316.24941022],
        ])
        args = self.net_obs1, self.network
        kwargs = {
            "destination_observations": self.net_obs2,
            "snap_dist": True,
            "distance_type": "network",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx[:4, :4],
                                                known_mtx,
                                                decimal=DECIMAL)

        known_shape = (92, 1969)
        observed_shape = observed_mtx.shape
        self.assertEqual(observed_shape, observed_shape)

        known_mtx_sum = 503083944.4664013
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum, delta=1)
示例#3
0
    def test_net_no_snap(self):
        known_mtx = numpy.array([
            [2064.59726946, 1899.48030691, 1749.06065623, 1567.86895727],
            [2562.49978182, 2285.24409928, 2943.97295784, 3776.2240256],
            [3125.60972178, 2648.05559975, 3306.78445831, 4461.51381012],
            [2062.69976958, 4977.94856303, 4827.52891235, 3122.6351043],
        ])
        args = self.net_obs1, self.network
        kwargs = {
            "destination_observations": self.net_obs2,
            "snap_dist": False,
            "distance_type": "network",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx[:4, :4],
                                                known_mtx,
                                                decimal=DECIMAL)

        known_shape = (92, 1969)
        observed_shape = observed_mtx.shape
        self.assertEqual(observed_shape, observed_shape)

        known_mtx_sum = 467794809.4908291
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum, delta=1)
    def test_euc_snap(self):
        known_mtx = numpy.array([
            [0.0, 3.41421356, 2.0, 3.41421356],
            [3.41421356, 0.0, 3.41421356, 4.0],
            [2.0, 3.41421356, 0.0, 3.41421356],
            [3.41421356, 4.0, 3.41421356, 0.0],
        ])
        args = copy.deepcopy(self.net_obs), copy.deepcopy(self.network)
        kwargs = {
            "destination_observations": None,
            "snap_dist": True,
            "distance_type": "euclidean",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx, known_mtx)

        known_mtx_sum = 39.31370849898476
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum)
    def test_net_snap(self):
        known_mtx = numpy.array([
            [0.0, 4.0, 2.0, 4.0],
            [4.0, 0.0, 4.0, 4.0],
            [2.0, 4.0, 0.0, 4.0],
            [4.0, 4.0, 4.0, 0.0],
        ])
        args = copy.deepcopy(self.net_obs), copy.deepcopy(self.network)
        kwargs = {
            "destination_observations": None,
            "snap_dist": True,
            "distance_type": "network",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx, known_mtx)

        known_mtx_sum = 44.0
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum)
    def test_euc_snap(self):
        known_mtx = numpy.array([
            [0.0, 2.82842712, 2.82842712, 2.82842712],
            [2.82842712, 0.0, 2.82842712, 2.82842712],
            [2.82842712, 2.82842712, 0.0, 2.82842712],
            [2.82842712, 2.82842712, 2.82842712, 0.0],
        ])
        args = self.net_obs, self.network
        kwargs = {
            "destination_observations": None,
            "snap_dist": True,
            "distance_type": "euclidean",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx, known_mtx)

        known_mtx_sum = 33.941125496954285
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum)
    def test_net_snap(self):
        known_mtx = numpy.array([
            [0.54770651, 3.84622369, 4.09963354],
            [1.80379619, 3.38079845, 3.63420829],
            [0.93501431, 3.67916947, 3.93257931],
            [1.26735717, 4.60695537, 4.86036522],
            [3.53409492, 5.11109718, 5.36450702],
        ])
        args = copy.deepcopy(self.net_obs1), copy.deepcopy(self.network)
        kwargs = {
            "destination_observations": self.net_obs2,
            "snap_dist": True,
            "distance_type": "network",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx, known_mtx)

        known_mtx_sum = 50.60350662252801
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum)
    def test_euc_no_snap(self):
        known_mtx = numpy.array([
            [0.02054051, 2.17694135, 2.49140309],
            [0.97244594, 2.41059601, 1.68165696],
            [0.29772152, 2.08296224, 2.21422207],
            [0.68579403, 2.54046208, 3.19773762],
            [2.05339149, 3.85419354, 2.46956183],
        ])
        args = copy.deepcopy(self.net_obs1), copy.deepcopy(self.network)
        kwargs = {
            "destination_observations": self.net_obs2,
            "snap_dist": False,
            "distance_type": "euclidean",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx, known_mtx)

        known_mtx_sum = 29.14963026553491
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum)
    def test_net_no_snap(self):
        known_mtx = numpy.array([
            [0.02054051, 2.86029997, 2.49140309],
            [1.29235148, 2.41059601, 2.04169913],
            [0.29772152, 2.58311895, 2.21422207],
            [0.68579403, 3.5666345, 3.19773762],
            [2.73594902, 3.85419354, 3.48529666],
        ])
        args = copy.deepcopy(self.net_obs1), copy.deepcopy(self.network)
        kwargs = {
            "destination_observations": self.net_obs2,
            "snap_dist": False,
            "distance_type": "network",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx, known_mtx)

        known_mtx_sum = 33.737558095596384
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum)
    def test_euc_snap(self):
        known_mtx = numpy.array([
            [0.0, 3.67329521, 4.34307909],
            [1.3902779, 3.23921971, 3.90900359],
            [1.60037734, 3.44931915, 4.11910303],
            [3.44146299, 4.11883193, 5.96018868],
            [3.43009305, 5.27903486, 4.77724586],
        ])
        args = self.net_obs1, self.network
        kwargs = {
            "destination_observations": self.net_obs2,
            "snap_dist": True,
            "distance_type": "euclidean",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx, known_mtx)

        known_mtx_sum = 52.73053239487793
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum)
    def test_euc_no_snap(self):
        known_mtx = numpy.array([
            [0.0, 2.0, 2.0],
            [0.0, 2.0, 2.0],
            [0.0, 2.0, 2.0],
            [2.0, 2.82842712, 4.0],
            [2.0, 4.0, 2.82842712],
        ])
        args = self.net_obs1, self.network
        kwargs = {
            "destination_observations": self.net_obs2,
            "snap_dist": False,
            "distance_type": "euclidean",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx, known_mtx)

        known_mtx_sum = 29.656854249492383
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum)
    def test_net_snap(self):
        known_mtx = numpy.array([
            [1.8243534, 3.67329521, 4.34307909],
            [1.3902779, 3.23921971, 3.90900359],
            [1.60037734, 3.44931915, 4.11910303],
            [3.44146299, 5.2904048, 5.96018868],
            [3.43009305, 5.27903486, 5.94881874],
        ])
        args = self.net_obs1, self.network
        kwargs = {
            "destination_observations": self.net_obs2,
            "snap_dist": True,
            "distance_type": "network",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx, known_mtx)

        known_mtx_sum = 56.89803154575887
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum)
    def test_euc_snap(self):
        known_mtx = numpy.array([
            [0.54770651, 3.16286507, 4.09963354],
            [1.48389065, 3.38079845, 3.27416613],
            [0.93501431, 3.17901275, 3.93257931],
            [1.26735717, 3.58078294, 4.86036522],
            [2.85153739, 5.11109718, 4.34877219],
        ])
        args = copy.deepcopy(self.net_obs1), copy.deepcopy(self.network)
        kwargs = {
            "destination_observations": self.net_obs2,
            "snap_dist": True,
            "distance_type": "euclidean",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx, known_mtx)

        known_mtx_sum = 46.015578792466535
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum)
示例#14
0
    def test_net_snap(self):
        known_mtx = numpy.array([
            [0.0, 3389.37545944, 3975.65875829, 3687.64355986],
            [3389.37545944, 0.0, 727.84658824, 3361.84162077],
            [3975.65875829, 727.84658824, 0.0, 3995.59122314],
            [3687.64355986, 3361.84162077, 3995.59122314, 0.0],
        ])
        args = copy.deepcopy(self.net_obs), copy.deepcopy(self.network)
        kwargs = {
            "destination_observations": None,
            "snap_dist": True,
            "distance_type": "network",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx[:4, :4],
                                                known_mtx,
                                                decimal=DECIMAL)

        known_mtx_sum = 23230504.28050229
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum, delta=1)
示例#15
0
    def test_net_no_snap(self):
        known_mtx = numpy.array([
            [0.0, 3285.69020577, 3883.24256199, 3581.0882225],
            [3285.69020577, 0.0, 645.01865974, 3264.87455121],
            [3883.24256199, 645.01865974, 0.0, 3909.89321095],
            [3581.0882225, 3264.87455121, 3909.89321095, 0.0],
        ])
        args = copy.deepcopy(self.net_obs), copy.deepcopy(self.network)
        kwargs = {
            "destination_observations": None,
            "snap_dist": False,
            "distance_type": "network",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx[:4, :4],
                                                known_mtx,
                                                decimal=DECIMAL)

        known_mtx_sum = 22099816.17479256
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum, delta=1)
示例#16
0
    def test_net_snap(self):
        known_mtx = numpy.array([
            [2396.63085253, 1918.5571568, 1727.08007354, 1702.91268741],
            [2490.37823338, 2253.15528259, 2958.04412157, 3869.4817606],
            [3124.12783575, 2678.99286711, 3383.88170609, 4455.76505945],
            [2376.79864032, 5183.60059472, 4992.12351146, 3204.38370495],
        ])
        args = copy.deepcopy(self.net_obs1), copy.deepcopy(self.network)
        kwargs = {
            "destination_observations": self.net_obs2,
            "snap_dist": True,
            "distance_type": "network",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx[:4, :4],
                                                known_mtx,
                                                decimal=DECIMAL)

        known_mtx_sum = 489306860.5320058
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum, delta=1)
示例#17
0
    def test_net_no_snap(self):
        known_mtx = numpy.array([
            [2308.71804518, 1823.15385777, 1629.12550059, 1597.86997059],
            [2412.05369383, 2167.34025136, 2869.67781642, 3774.02731159],
            [3057.07235357, 2604.44689325, 3306.78445831, 4371.5796678],
            [2295.60401708, 5094.9154798, 4900.88712262, 3106.05917224],
        ])
        args = copy.deepcopy(self.net_obs1), copy.deepcopy(self.network)
        kwargs = {
            "destination_observations": self.net_obs2,
            "snap_dist": False,
            "distance_type": "network",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx[:4, :4],
                                                known_mtx,
                                                decimal=DECIMAL)

        known_mtx_sum = 469638820.3745194
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum, delta=1)
示例#18
0
    def test_net_snap(self):
        known_mtx = numpy.array([
            [0.0, 3501.0453002, 4171.59260934, 3611.91094868],
            [3501.0453002, 0.0, 1027.01398167, 3415.42760763],
            [4171.59260934, 1027.01398167, 0.0, 3963.79507221],
            [3611.91094868, 3415.42760763, 3963.79507221, 0.0],
        ])
        args = self.net_obs, self.network
        kwargs = {
            "destination_observations": None,
            "snap_dist": True,
            "distance_type": "network",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx[:4, :4],
                                                known_mtx,
                                                decimal=DECIMAL)

        known_mtx_sum = 23904433.77183481
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum, delta=1)
示例#19
0
    def test_net_no_snap(self):
        known_mtx = numpy.array([
            [0.0, 3317.88793311, 4003.17771763, 3387.79485659],
            [3317.88793311, 0.0, 940.71263515, 3273.42506072],
            [4003.17771763, 940.71263515, 0.0, 3836.53500068],
            [3387.79485659, 3273.42506072, 3836.53500068, 0.0],
        ])
        args = self.net_obs, self.network
        kwargs = {
            "destination_observations": None,
            "snap_dist": False,
            "distance_type": "network",
        }
        observed_mtx = tigernet.obs2obs_cost_matrix(*args, **kwargs)
        numpy.testing.assert_array_almost_equal(observed_mtx[:4, :4],
                                                known_mtx,
                                                decimal=DECIMAL)

        known_mtx_sum = 22077455.792563077
        observed_mtx_sum = observed_mtx.sum()
        self.assertAlmostEqual(observed_mtx_sum, known_mtx_sum, delta=1)