Exemplo n.º 1
0
def test_serialization():
    class TestSchema(Schema):
        location = fields.Location()

    data = TestSchema().dump(
        dict(location=Location(longitude=7, latitude=51))).data
    assert data['location'] == [7, 51]
Exemplo n.º 2
0
def test_geoid():
    # test data from http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/egm96.html
    assert egm96_height(Location(38.6281550, 269.7791550)) == pytest.approx(-31.629, abs=0.25)
    assert egm96_height(Location(-14.6212170, 305.0211140)) == pytest.approx(-2.966, abs=0.25)
    assert egm96_height(Location(46.8743190, 102.4487290)) == pytest.approx(-43.572, abs=0.25)
    assert egm96_height(Location(-23.6174460, 133.8747120)) == pytest.approx(15.868, abs=0.25)
    assert egm96_height(Location(38.6254730, 359.9995000)) == pytest.approx(50.065, abs=0.5)
    assert egm96_height(Location(-.4667440, .0023000)) == pytest.approx(17.330, abs=0.25)
Exemplo n.º 3
0
# -*- coding: utf-8 -*-

import pytest

from skylines.lib.geo import geographic_distance
from skylines.model.geo import Location


@pytest.mark.parametrize(
    "loc1,loc2,expected",
    [
        (
            Location(latitude=0.0, longitude=0.0),
            Location(latitude=0.0, longitude=0.0),
            0.0,
        ),
        (
            Location(latitude=38.898556, longitude=-77.037852),
            Location(latitude=38.897147, longitude=-77.043934),
            548.812,
        ),
    ],
)
def test_geographic_distance(loc1, loc2, expected):
    result = geographic_distance(loc1, loc2)
    assert result == pytest.approx(expected)