Пример #1
0
def run(target_folder, coordinate_table, coordinate_column_x,
        coordinate_column_y, source_proj4, target_proj4):
    target_path = join(target_folder, 'converted_coordinate_table.csv')
    try:
        transform_x_y = get_transformPoint(source_proj4, target_proj4)
    except GeometryError:
        try:
            get_spatialReference(source_proj4)
        except GeometryError:
            exit(SPATIAL_REFERENCE_INVALID % ('source', source_proj4))
        try:
            get_spatialReference(target_proj4)
        except GeometryError:
            exit(SPATIAL_REFERENCE_INVALID % ('target', target_proj4))
    columns = list(coordinate_table.columns)
    column_x_index = _get_column_index(columns, coordinate_column_x, 'x')
    column_y_index = _get_column_index(columns, coordinate_column_y, 'y')
    columns, order_x_y = _prepare_columns(columns, target_proj4)

    csv_writer = csv.writer(open(target_path, 'w'))
    csv_writer.writerow(columns)
    for index, row in enumerate(coordinate_table.values):
        row = list(row)
        old_x, old_y = row[column_x_index], row[column_y_index]
        try:
            new_x, new_y = transform_x_y(old_x, old_y)
        except RuntimeError:
            print_error(COORDINATES_NOT_TRANSFORMED, index, old_x, old_y)
            csv_writer.writerow(row + ['', ''])
            continue
        csv_writer.writerow(row + order_x_y(new_x, new_y))
    return [
        ('converted_coordinate_table_path', target_path),
    ]
Пример #2
0
def run(
        target_folder, coordinate_table,
        coordinate_column_x, coordinate_column_y,
        source_proj4, target_proj4):
    target_path = join(target_folder, 'converted_coordinate_table.csv')
    try:
        transform_x_y = get_transformPoint(source_proj4, target_proj4)
    except GeometryError:
        try:
            get_spatialReference(source_proj4)
        except GeometryError:
            exit(SPATIAL_REFERENCE_INVALID % ('source', source_proj4))
        try:
            get_spatialReference(target_proj4)
        except GeometryError:
            exit(SPATIAL_REFERENCE_INVALID % ('target', target_proj4))
    columns = list(coordinate_table.columns)
    column_x_index = _get_column_index(columns, coordinate_column_x, 'x')
    column_y_index = _get_column_index(columns, coordinate_column_y, 'y')
    columns, order_x_y = _prepare_columns(columns, target_proj4)

    csv_writer = csv.writer(open(target_path, 'w'))
    csv_writer.writerow(columns)
    for index, row in enumerate(coordinate_table.values):
        row = list(row)
        old_x, old_y = row[column_x_index], row[column_y_index]
        try:
            new_x, new_y = transform_x_y(old_x, old_y)
        except RuntimeError:
            print_error(COORDINATES_NOT_TRANSFORMED, index, old_x, old_y)
            csv_writer.writerow(row + ['', ''])
            continue
        csv_writer.writerow(row + order_x_y(new_x, new_y))
    return [
        ('converted_coordinate_table_path', target_path),
    ]
Пример #3
0
 def test_get_spatialReference_runs(self):
     get_spatialReference(proj4LL)
     with self.assertRaises(GeometryError):
         get_spatialReference('')
Пример #4
0
def _normalize_proj4(proj4):
    return get_spatialReference(proj4).ExportToProj4()
Пример #5
0
def _normalize_proj4(proj4):
    return get_spatialReference(proj4).ExportToProj4()