fix: 修正 Cesium 巡航车道中心对齐
This commit is contained in:
@@ -238,14 +238,23 @@ class ProjectorTest(unittest.TestCase):
|
||||
self.assertGreater(east, 0.0)
|
||||
self.assertGreater(north, 0.0)
|
||||
|
||||
def test_longitude_metres_shrink_with_latitude(self):
|
||||
self.assertAlmostEqual(
|
||||
self.projector.m_per_lon,
|
||||
111320.0 * math.cos(math.radians(30.005)),
|
||||
places=6,
|
||||
)
|
||||
def test_wgs84_local_scale_matches_ellipsoid(self):
|
||||
latitude = math.radians(30.005)
|
||||
denominator = math.sqrt(1.0 - Projector.WGS84_E2 * math.sin(latitude) ** 2)
|
||||
expected_lon = (Projector.WGS84_A / denominator
|
||||
* math.cos(latitude) * math.pi / 180.0)
|
||||
expected_lat = (Projector.WGS84_A * (1.0 - Projector.WGS84_E2)
|
||||
/ denominator ** 3 * math.pi / 180.0)
|
||||
self.assertAlmostEqual(self.projector.m_per_lon, expected_lon, places=6)
|
||||
self.assertAlmostEqual(self.projector.m_per_lat, expected_lat, places=6)
|
||||
self.assertLess(self.projector.m_per_lon, self.projector.m_per_lat)
|
||||
|
||||
def test_projection_matches_local_wgs84_scale(self):
|
||||
east, _ = self.projector.xy((114.006, 30.005))
|
||||
_, north = self.projector.xy((114.005, 30.006))
|
||||
self.assertAlmostEqual(east, self.projector.m_per_lon * 0.001, places=4)
|
||||
self.assertAlmostEqual(north, self.projector.m_per_lat * 0.001, places=4)
|
||||
|
||||
def test_inside_honours_the_pad(self):
|
||||
self.assertTrue(self.projector.inside((114.005, 30.005)))
|
||||
# Default pad is 0.00035 degrees, so just outside the box still counts.
|
||||
|
||||
Reference in New Issue
Block a user