From dbc9e42d98d371a766e2d7ab35153d2bda186435 Mon Sep 17 00:00:00 2001 From: Crispin Date: Tue, 2 Feb 2021 15:55:16 +0000 Subject: [PATCH] Revert "Added divr and div to destination maps" This reverts commit 15a9ca6ccb76a2a7665d96f19ee898c86c3a5c0b. --- sDNA/sdna_vs2008/calculation.cpp | 20 ++++++-------------- sDNA/sdna_vs2008/calculation.h | 11 ++--------- 2 files changed, 8 insertions(+), 23 deletions(-) diff --git a/sDNA/sdna_vs2008/calculation.cpp b/sDNA/sdna_vs2008/calculation.cpp index 4c7ddc4..6eb8c44 100644 --- a/sDNA/sdna_vs2008/calculation.cpp +++ b/sDNA/sdna_vs2008/calculation.cpp @@ -604,10 +604,9 @@ void SDNAIntegralCalculation::process_origin(SDNAPolyline *origin,int r,shared_p //this is very approximate, but simplifies the appearance of sdna output measures: //if we don't estimate origin diversion ratio then that breaks the concept of normalizing by weight in radius //as the weight does include the origin itself - double origin_crow_flight = origin->estimate_average_inner_crow_flight_distance_ignoring_oneway(proportion_of_origin_within_radius) ; - total_crow_flies(origin,r) += origin_crow_flight * destweight_of_origin_within_radius; - double origin_diversion_ratio = origin->estimate_average_inner_diversion_ratio_ignoring_oneway() ; - diversion_ratio(origin,r) += origin_diversion_ratio * destweight_of_origin_within_radius; + total_crow_flies(origin,r) += origin->estimate_average_inner_crow_flight_distance_ignoring_oneway(proportion_of_origin_within_radius) + * destweight_of_origin_within_radius; + diversion_ratio(origin,r) += origin->estimate_average_inner_diversion_ratio_ignoring_oneway() * destweight_of_origin_within_radius; //each point experiences intra-origin traffic of 1/6*(origweight*destweight) in each direction betweenness.increment_both(origin,r,origin_self_betweenness_weight/6.); @@ -632,10 +631,7 @@ void SDNAIntegralCalculation::process_origin(SDNAPolyline *origin,int r,shared_p (float)origweight_of_origin_within_radius, (float)two_stage_betweenness_origin_weight, (float)(cost_of_origin_within_radius / 3.), - (float)(length_of_origin_within_radius / 3.), - (float)origin_crow_flight, - (float)origin_diversion_ratio, - (float)((origin_diversion_ratio-1)*(length_of_origin_within_radius / 3.))), + (float)(length_of_origin_within_radius / 3.)), 1)); shared_ptr origasdestination(new sDNAGeometryPointsByEdgeLength()); orig_as_destinationdata->add_part(origin_geom); @@ -813,8 +809,7 @@ void SDNAIntegralCalculation::process_geodesic(DestinationEdgeProcessingTask &de } total_geodesic_length_weighted(origin_link,r) += euclidean_cost_of_geodesic * dest_weight; - double diversion_ratio_this_destination = euclidean_cost_of_geodesic / crow_flies_distance; - diversion_ratio(origin_link,r) += diversion_ratio_this_destination * dest_weight; + diversion_ratio(origin_link,r) += euclidean_cost_of_geodesic / crow_flies_distance * dest_weight; #ifdef _SDNADEBUG cout << "euclidean geodesic from link " << origin_link->arcid << "-" << destination_link->arcid << " is " << euclidean_cost_of_geodesic << endl; cout << "crow flies distance is " << crow_flies_distance << endl; @@ -851,10 +846,7 @@ void SDNAIntegralCalculation::process_geodesic(DestinationEdgeProcessingTask &de (float)origin_weight, (float)two_stage_betweenness_weight, (float)get_geodesic_analytical_cost(dest,anal_best_costs_reaching_edge), - (float)euclidean_cost_of_geodesic, - (float)crow_flies_distance, - (float)diversion_ratio_this_destination, - (float)(euclidean_cost_of_geodesic-crow_flies_distance)), + (float)euclidean_cost_of_geodesic), 1)); shared_ptr destination(new sDNAGeometryPointsByEdgeLength()); destination->add_edge_length_from_start_to_end(dest.routing_edge,dest.length_of_edge_inside_radius); diff --git a/sDNA/sdna_vs2008/calculation.h b/sDNA/sdna_vs2008/calculation.h index 9074b98..a4c5dc0 100644 --- a/sDNA/sdna_vs2008/calculation.h +++ b/sDNA/sdna_vs2008/calculation.h @@ -706,10 +706,9 @@ class SDNAIntegralCalculation : public Calculation, public SDNAPolylineDataSourc FIELD(fFLOAT,"Weight","Weight"); return result; } - static vector get_destination_data(long orig,long dest,double radius,float origweight,float tpweight,float anal_cost,float radial_cost, - float crowflight,float divr,float divdiff) + static vector get_destination_data(long orig,long dest,double radius,float origweight,float tpweight,float anal_cost,float radial_cost) { - vector result(10); + vector result(7); result[0]=SDNAVariant(orig); result[1]=SDNAVariant(dest); result[2]=SDNAVariant((float)radius); @@ -717,9 +716,6 @@ class SDNAIntegralCalculation : public Calculation, public SDNAPolylineDataSourc result[4]=SDNAVariant(tpweight); result[5]=SDNAVariant(anal_cost); result[6]=SDNAVariant(radial_cost); - result[7]=SDNAVariant(crowflight); - result[8]=SDNAVariant(divr); - result[9]=SDNAVariant(divdiff); return result; } static vector get_destination_field_metadata() @@ -732,9 +728,6 @@ class SDNAIntegralCalculation : public Calculation, public SDNAPolylineDataSourc FIELD(fFLOAT,"TPWeight from origin","TPWeightO"); FIELD(fFLOAT,"Analytic Metric","AnalMet"); FIELD(fFLOAT,"Length","Length"); - FIELD(fFLOAT,"Crow flight","CrowFlt"); - FIELD(fFLOAT,"Diversion Ratio","DivR"); - FIELD(fFLOAT,"Diversion","Div"); return result; }