worldmap-viewer

git clone https://git.godosa.eu/worldmap-viewer

master

raw ยท 978 bytes

import json
import unittest
from pathlib import Path

import numpy as np

from mapgen import projections as PJ

FIX = Path(__file__).resolve().parents[1] / "viewer" / "tests" / "fixtures" / "projections.json"
POINTS = [(0.0, 0.0), (30.0, 120.0), (-60.0, -170.0), (89.0, 45.0), (10.0, -179.0), (-45.5, 33.3)]


class ViewerFixtureTest(unittest.TestCase):
    def test_write_projection_fixture(self):
        lat = np.array([p[0] for p in POINTS])
        lon = np.array([p[1] for p in POINTS])
        x, y = PJ.equal_earth_forward(lat, lon)
        data = {"ee_xmax": float(PJ.EE_XMAX), "ee_ymax": float(PJ.EE_YMAX),
                "equal_earth": [{"lat": float(a), "lon": float(b), "x": float(c), "y": float(d)}
                                for a, b, c, d in zip(lat, lon, x, y)]}
        FIX.parent.mkdir(parents=True, exist_ok=True)
        FIX.write_text(json.dumps(data, indent=1))
        self.assertEqual(len(json.loads(FIX.read_text())["equal_earth"]), len(POINTS))