This file is indexed.

/usr/lib/python2.7/dist-packages/fiona/transform.py is in python-fiona 1.7.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
"""Coordinate and geometry warping and reprojection"""

from fiona._transform import _transform, _transform_geom


def transform(src_crs, dst_crs, xs, ys):
    """Transform coordinates from one reference system to another.

    Parameters
    ----------
    src_crs: str or dict
        A string like 'EPSG:4326' or a dict of proj4 parameters like
        {'proj': 'lcc', 'lat_0': 18.0, 'lat_1': 18.0, 'lon_0': -77.0}
        representing the coordinate reference system on the "source"
        or "from" side of the transformation.
    dst_crs: str or dict
        A string or dict representing the coordinate reference system
        on the "destination" or "to" side of the transformation.
    xs: sequence of float
        A list or tuple of x coordinate values. Must have the same
        length as the ``ys`` parameter.
    ys: sequence of float
        A list or tuple of y coordinate values. Must have the same
        length as the ``xs`` parameter.

    Returns
    -------
    xp, yp: list of float
        A pair of transformed coordinate sequences. The elements of
        ``xp`` and ``yp`` correspond exactly to the elements of the
        ``xs`` and ``ys`` input parameters.

    Examples
    --------

    >>> transform('EPSG:4326', 'EPSG:26953', [-105.0], [40.0])
    ([957097.0952383667], [378940.8419189212])

    """
    # Function is implemented in the _transform C extension module.
    return _transform(src_crs, dst_crs, xs, ys)


def transform_geom(
        src_crs, dst_crs, geom,
        antimeridian_cutting=False, antimeridian_offset=10.0, precision=-1):
    """Transform a geometry obj from one reference system to another.

    Parameters
    ----------
    src_crs: str or dict
        A string like 'EPSG:4326' or a dict of proj4 parameters like
        {'proj': 'lcc', 'lat_0': 18.0, 'lat_1': 18.0, 'lon_0': -77.0}
        representing the coordinate reference system on the "source"
        or "from" side of the transformation.
    dst_crs: str or dict
        A string or dict representing the coordinate reference system
        on the "destination" or "to" side of the transformation.
    geom: obj
        A GeoJSON-like geometry object with 'type' and 'coordinates'
        members.
    antimeridian_cutting: bool, optional
        ``True`` to cut output geometries in two at the antimeridian,
        the default is ``False`.
    antimeridian_offset: float, optional
        A distance in decimal degrees from the antimeridian, outside of
        which geometries will not be cut.
    precision: int, optional
        Optional rounding precision of output coordinates, in number
        of decimal places.

    Returns
    -------
    obj
        A new GeoJSON-like geometry with transformed coordinates. Note
        that if the output is at the antimeridian, it may be cut and 
        of a different geometry ``type`` than the input, e.g., a
        polygon input may result in multi-polygon output.

    Examples
    --------

    >>> transform_geom(
    ...     'EPSG:4326', 'EPSG:26953',
    ...     {'type': 'Point', 'coordinates': [-105.0, 40.0]})
    {'type': 'Point', 'coordinates': (957097.0952383667, 378940.8419189212)}

    """
    # Function is implemented in the _transform C extension module.
    return _transform_geom(
        src_crs, dst_crs, geom,
        antimeridian_cutting, antimeridian_offset, precision)