rail70_snap_rivers = gp.fix_geometry(rail70_snap_rivers) rail90_snap_rivers = gp.fix_geometry(rail90_snap_rivers) rivers_split_rail70 = gp.multipart_to_singleparts(rivers_split_rail70) rivers_split_rail90 = gp.multipart_to_singleparts(rivers_split_rail90) rail70_snap_rivers = gp.multipart_to_singleparts(rail70_snap_rivers) rail90_snap_rivers = gp.multipart_to_singleparts(rail90_snap_rivers) union_railriver70 = gp.union(rivers_split_rail70, rail70_snap_rivers) union_railriver90 = gp.union(rivers_split_rail90, rail90_snap_rivers) ###################################################################### # creating connector pieces, snapping, splitting and unioning ###################################################################### print('creating connector pieces, snapping, splitting and unioning, 1870') gp.grass_v_distance(centroids, union_railriver70, 'centroids', from_out=from_centroids70, dist_out=distance_centroids70) connectors70 = gp.snap_geometries(distance_centroids70, union_railriver70, 0.01) connectors70 = gp.fix_geometry(connectors70) union_railriver70 = gp.fix_geometry(union_railriver70) connectors70 = gp.multipart_to_singleparts(connectors70) union_railriver70 = gp.multipart_to_singleparts(union_railriver70) railrivers_split_connectors70 = gp.split_with_lines(union_railriver70, connectors70) connectors_split_railrivers70 = gp.split_with_lines(connectors70, union_railriver70) railrivers_split_connectors70 = gp.fix_geometry(railrivers_split_connectors70) connectors_split_railrivers70 = gp.fix_geometry(connectors_split_railrivers70) railrivers_split_connectors70 = gp.multipart_to_singleparts(railrivers_split_connectors70) connectors_split_railrivers70 = gp.multipart_to_singleparts(connectors_split_railrivers70) union70 = gp.union(connectors70, union_railriver70) print('creating connector pieces, snapping, splitting and unioning, 1890') gp.grass_v_distance(centroids, union_railriver90, 'centroids',
################################################################## # Drop field(s) ################################################################## print('dropping unnecessary fields, centroids') keepfields = ['ne_10m_adm', 'ADMIN', 'ISO_A3', 'xcoord', 'ycoord'] gp.drop_fields(centroids_with_coordinates, keep_fields=keepfields, output_object=centroidsout) ################################################################## # v.distance ################################################################## print('vector distance: country centroids to coast') gp.grass_v_distance(centroidsout, coastout, 'xcoord', from_out=nearout, dist_out=distout) ################################################################## # Adding constant ################################################################## print( 'adjusting the "cat" field (subtracting 1) in the nearest centroids to merge with distance lines' ) nearest_cat_adjust = gp.add_constant_to_attribute(nearout, 'cat', '-1') ################################################################## # Drop field(s) ################################################################## print(