def doNetKCalc(odDists, iteration):
      # Do the actual network k-function calculation.
      netKCalc = CrossKCalculation(networkLength, numDests, odDists, begDist, distInc, numBandsCont[0])
      netKCalculations.append(netKCalc.getDistanceBands())

      # If the user did not specifiy a number of distance bands explicitly,
      # store the number of bands.  It's computed from the observed data.
      if numBandsCont[0] is None:
        numBandsCont[0] = netKCalc.getNumberOfDistanceBands()
Beispiel #2
0
        def doNetKCalc(odDists, iteration):
            # Do the actual network k-function calculation.
            netKCalc = CrossKCalculation(networkLength, numDests, odDists,
                                         begDist, distInc, numBandsCont[0])
            netKCalculations.append(netKCalc.getDistanceBands())

            # If the user did not specifiy a number of distance bands explicitly,
            # store the number of bands.  It's computed from the observed data.
            if numBandsCont[0] is None:
                numBandsCont[0] = netKCalc.getNumberOfDistanceBands()
Beispiel #3
0
    def test_distance_band_calc(self):
        netLen = 14
        begDist = 0
        distInc = 1
        odDists = [{
            'Total_Length': 2,
            'DestinationID': 1,
            'OriginID': 1
        }, {
            'Total_Length': 4,
            'DestinationID': 1,
            'OriginID': 2
        }, {
            'Total_Length': 3,
            'DestinationID': 2,
            'OriginID': 1
        }, {
            'Total_Length': 4,
            'DestinationID': 2,
            'OriginID': 2
        }]

        ckc = CrossKCalculation(netLen, 2, odDists, begDist, distInc, None)
        #print(ckc.getDistanceBands())
        self.assertEqual(ckc.getNumberOfDistanceBands(), 5)  # 0, 1, 2, 3, 4
        self.assertEqual(ckc.getDistanceBands()[0]["count"], 0)
        self.assertEqual(ckc.getDistanceBands()[1]["count"], 0)
        self.assertEqual(ckc.getDistanceBands()[2]["count"], 1)
        self.assertEqual(ckc.getDistanceBands()[3]["count"], 1)
        self.assertEqual(ckc.getDistanceBands()[4]["count"], 2)

        ckc = CrossKCalculation(netLen, 2, odDists, begDist, distInc, 3)
        self.assertEqual(ckc.getNumberOfDistanceBands(), 3)  # 0, 1, 2
        self.assertEqual(ckc.getDistanceBands()[0]["count"], 0)
        self.assertEqual(ckc.getDistanceBands()[1]["count"], 0)
        self.assertEqual(ckc.getDistanceBands()[2]["count"], 1)

        begDist = 3
        distInc = .25
        odDists = [{
            'Total_Length': 2,
            'DestinationID': 1,
            'OriginID': 1
        }, {
            'Total_Length': 4,
            'DestinationID': 1,
            'OriginID': 2
        }, {
            'Total_Length': 3,
            'DestinationID': 2,
            'OriginID': 1
        }, {
            'Total_Length': 4,
            'DestinationID': 2,
            'OriginID': 2
        }]

        ckc = CrossKCalculation(netLen, 2, odDists, begDist, distInc, None)
        self.assertEqual(ckc.getNumberOfDistanceBands(),
                         5)  # 3, 3.25, 3.5, 3.75, 4
        self.assertEqual(ckc.getDistanceBands()[0]["count"], 1)
        self.assertEqual(ckc.getDistanceBands()[1]["count"], 0)
        self.assertEqual(ckc.getDistanceBands()[2]["count"], 0)
        self.assertEqual(ckc.getDistanceBands()[3]["count"], 0)
        self.assertEqual(ckc.getDistanceBands()[4]["count"], 2)
  def test_distance_band_calc(self):
    netLen  = 14
    begDist = 0
    distInc = 1
    odDists = [
      {'Total_Length': 2, 'DestinationID': 1, 'OriginID': 1},
      {'Total_Length': 4, 'DestinationID': 1, 'OriginID': 2},
      {'Total_Length': 3, 'DestinationID': 2, 'OriginID': 1},
      {'Total_Length': 4, 'DestinationID': 2, 'OriginID': 2}]

    ckc = CrossKCalculation(netLen, 2, odDists, begDist, distInc, None)
    #print(ckc.getDistanceBands())
    self.assertEqual(ckc.getNumberOfDistanceBands(), 5) # 0, 1, 2, 3, 4
    self.assertEqual(ckc.getDistanceBands()[0]["count"], 0)
    self.assertEqual(ckc.getDistanceBands()[1]["count"], 0)
    self.assertEqual(ckc.getDistanceBands()[2]["count"], 1)
    self.assertEqual(ckc.getDistanceBands()[3]["count"], 1)
    self.assertEqual(ckc.getDistanceBands()[4]["count"], 2)

    ckc = CrossKCalculation(netLen, 2, odDists, begDist, distInc, 3)
    self.assertEqual(ckc.getNumberOfDistanceBands(), 3) # 0, 1, 2
    self.assertEqual(ckc.getDistanceBands()[0]["count"], 0)
    self.assertEqual(ckc.getDistanceBands()[1]["count"], 0)
    self.assertEqual(ckc.getDistanceBands()[2]["count"], 1)

    begDist = 3
    distInc = .25
    odDists = [
      {'Total_Length': 2, 'DestinationID': 1, 'OriginID': 1},
      {'Total_Length': 4, 'DestinationID': 1, 'OriginID': 2},
      {'Total_Length': 3, 'DestinationID': 2, 'OriginID': 1},
      {'Total_Length': 4, 'DestinationID': 2, 'OriginID': 2}]

    ckc = CrossKCalculation(netLen, 2, odDists, begDist, distInc, None)
    self.assertEqual(ckc.getNumberOfDistanceBands(), 5) # 3, 3.25, 3.5, 3.75, 4
    self.assertEqual(ckc.getDistanceBands()[0]["count"], 1)
    self.assertEqual(ckc.getDistanceBands()[1]["count"], 0)
    self.assertEqual(ckc.getDistanceBands()[2]["count"], 0)
    self.assertEqual(ckc.getDistanceBands()[3]["count"], 0)
    self.assertEqual(ckc.getDistanceBands()[4]["count"], 2)