예제 #1
0
    def __init__(self, source_crs: Any, target_crs: Any,
                 transformation: Any) -> None:
        """
        Parameters
        ----------
        source_crs: Any
            Input to create a source CRS.
        target_crs: Any
            Input to create the target CRS.
        transformation: Any
            Input to create the transformation.
        """
        bound_crs_json = {
            "$schema":
            "https://proj.org/schemas/v0.2/projjson.schema.json",
            "type":
            "BoundCRS",
            "source_crs":
            CRS.from_user_input(source_crs).to_json_dict(),
            "target_crs":
            CRS.from_user_input(target_crs).to_json_dict(),
            "transformation":
            CoordinateOperation.from_user_input(transformation).to_json_dict(),
        }

        super().__init__(bound_crs_json)
예제 #2
0
 def __init__(
     self, base_crs, conversion, ellipsoidal_cs=Ellipsoidal2DCS(), name="undefined",
 ):
     """
     Parameters
     ----------
     base_crs: Any
         Input to create the Geodetic CRS, a :class:`GeographicCRS` or
         anything accepted by :meth:`pyproj.crs.CRS.from_user_input`.
     conversion: Any
         Anything accepted by :meth:`pyproj.crs.CoordinateSystem.from_user_input`
         or a conversion from :ref:`coordinate_operation`.
     ellipsoidal_cs: Any, optional
         Input to create an Ellipsoidal Coordinate System.
         Anything accepted by :meth:`pyproj.crs.CoordinateSystem.from_user_input`
         or an Ellipsoidal Coordinate System created from :ref:`coordinate_system`.
     name: str, optional
         Name of the CRS. Default is undefined.
     """
     derived_geographic_crs_json = {
         "$schema": "https://proj.org/schemas/v0.2/projjson.schema.json",
         "type": "DerivedGeographicCRS",
         "name": name,
         "base_crs": CRS.from_user_input(base_crs).to_json_dict(),
         "conversion": CoordinateOperation.from_user_input(
             conversion
         ).to_json_dict(),
         "coordinate_system": CoordinateSystem.from_user_input(
             ellipsoidal_cs
         ).to_json_dict(),
     }
     super().__init__(derived_geographic_crs_json)
예제 #3
0
 def __init__(
     self,
     conversion: Any,
     name: str = "undefined",
     cartesian_cs: Any = None,
     geodetic_crs: Any = None,
 ) -> None:
     """
     Parameters
     ----------
     conversion: Any
         Anything accepted by :meth:`pyproj.crs.CoordinateSystem.from_user_input`
         or a conversion from :ref:`coordinate_operation`.
     name: str, optional
         The name of the Projected CRS. Default is undefined.
     cartesian_cs: Any, optional
         Input to create a Cartesian Coordinate System.
         Anything accepted by :meth:`pyproj.crs.CoordinateSystem.from_user_input`
         or :class:`pyproj.crs.coordinate_system.Cartesian2DCS`.
     geodetic_crs: Any, optional
         Input to create the Geodetic CRS, a :class:`GeographicCRS` or
         anything accepted by :meth:`pyproj.crs.CRS.from_user_input`.
     """
     proj_crs_json = {
         "$schema":
         "https://proj.org/schemas/v0.2/projjson.schema.json",
         "type":
         "ProjectedCRS",
         "name":
         name,
         "base_crs":
         CRS.from_user_input(geodetic_crs
                             or GeographicCRS()).to_json_dict(),
         "conversion":
         CoordinateOperation.from_user_input(conversion).to_json_dict(),
         "coordinate_system":
         CoordinateSystem.from_user_input(
             cartesian_cs or Cartesian2DCS()).to_json_dict(),
     }
     super().__init__(proj_crs_json)