def get_relocation_information_as_ndarray(include_fields=("stat_centroid_elevation", "stat_centroid_distance_to_original_boundary", "stat_min_elevation", "stat_max_elevation", "stat_mean_elevation", "stat_min_slope", "stat_max_slope", "stat_mean_slope", "stat_mean_distance_to_floodplain", "stat_min_distance_to_floodplain", "stat_max_distance_to_floodplain", "chosen", ) ): data_records = [] for town in RelocatedTown.objects.all(): processing_log.info("Loading town {0:s}".format(town.name)) new_data = conversion.features_to_dict_or_array(town.parcels.layer, include_fields=include_fields, array=True) data_records += new_data ndarray_data_records = numpy.asarray(data_records) return ndarray_data_records
def export_relocation_information(include_fields=("stat_centroid_elevation", "stat_centroid_distance_to_original_boundary", "stat_min_elevation", "stat_max_elevation", "stat_mean_elevation", "stat_min_slope", "stat_max_slope", "stat_mean_slope", "stat_min_road_distance", "stat_max_road_distance", "stat_mean_road_distance", "stat_mean_distance_to_floodplain", "stat_min_distance_to_floodplain", "stat_max_distance_to_floodplain", "stat_min_protected_distance", "stat_max_protected_distance", "stat_mean_protected_distance", "stat_is_protected", "chosen", ) ): """ If all of the towns are processed, then this exports it all to a single csv """ all_records = [] for town in RelocatedTown.objects.all(): processing_log.info("Loading town {0:s}".format(town.name)) all_records += conversion.features_to_dict_or_array(town.parcels.layer, include_fields=include_fields) with open(r"C:\Users\dsx.AD3\Code\FloodMitigation\relocation\calibration\output_data.csv", 'w',) as write_file: csv_writer = csv.DictWriter(write_file, fieldnames=include_fields, lineterminator='\n',) # needs the lineterminator option or else it writes an extra newline on Python 3 csv_writer.writeheader() csv_writer.writerows(all_records) return all_records