Ejemplo n.º 1
0
    static inline void getWorldBoundsLatLng(LatLng &sw, LatLng &ne) {
        ProjectedMeters projectedMetersSW = ProjectedMeters();
        ProjectedMeters projectedMetersNE = ProjectedMeters();

        getWorldBoundsMeters(projectedMetersSW, projectedMetersNE);

        sw = latLngForProjectedMeters(projectedMetersSW);
        ne = latLngForProjectedMeters(projectedMetersNE);
    }
Ejemplo n.º 2
0
    static inline const ProjectedMeters projectedMetersForLatLng(const LatLng latLng) {
        const double constrainedLatitude = std::fmin(std::fmax(latLng.latitude, -util::LATITUDE_MAX), util::LATITUDE_MAX);

        const double m = 1 - 1e-15;
        const double f = std::fmin(std::fmax(std::sin(util::DEG2RAD * constrainedLatitude), -m), m);

        const double easting  = util::EARTH_RADIUS_M * latLng.longitude * util::DEG2RAD;
        const double northing = 0.5 * util::EARTH_RADIUS_M * std::log((1 + f) / (1 - f));

        return ProjectedMeters(northing, easting);
    }
Ejemplo n.º 3
0
    static ProjectedMeters projectedMetersForLatLng(const LatLng& latLng) {
        const double constrainedLatitude = util::clamp(latLng.latitude, -util::LATITUDE_MAX, util::LATITUDE_MAX);
        const double constrainedLongitude = util::clamp(latLng.longitude, -util::LONGITUDE_MAX, util::LONGITUDE_MAX);

        const double m = 1 - 1e-15;
        const double f = util::clamp(std::sin(util::DEG2RAD * constrainedLatitude), -m, m);

        const double easting  = util::EARTH_RADIUS_M * constrainedLongitude * util::DEG2RAD;
        const double northing = 0.5 * util::EARTH_RADIUS_M * std::log((1 + f) / (1 - f));

        return ProjectedMeters(northing, easting);
    }