-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO
37 lines (32 loc) · 1.71 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
TODO (not in this order):
• support more listing platforms
• replace GeoJSON stuff by direct GPX-reading layer
• rewrite in a more structured manner (now that I know what I’m doing);
this is a rapid prototype to prove doability and that it works in Opera 9
• merge CGIs, possibly using AJAX (if it works in Opera 9) to make them
into layers
• make CGIs dynamic wrt. current map boundaries (if zoom > minzoom)
• maybe CGI-using GPX import, for Opera/Konqueror who can’t do it client-side
• create user docs
Note also that this is a rapid-prototype PoC…
https://github.com/tmcw/togeojson is more maintained than
the toGeoJSON stuff we currently have in the repo. Though
it might not work on all browsers (any more)… see above.
https://wiki.openstreetmap.org/wiki/Tiles
• MapTiler
• MapTiles (rapidapi)
• waymarkedtrails
https://learn.microsoft.com/en-us/azure/azure-maps/zoom-levels-and-tile-grid?tabs=typescript
• uses 85.05112878 as clipping latitude inexactly; exact is:
‣ sin¯¹( (e(2*π)-1) / (e(2*π)+1) ) * 180/π
‣ a(((e(2*p)-1)/(e(2*p)+1))/sqrt(1-((e(2*p)-1)/(e(2*p)+1))*((e(2*p)-1)/(e(2*p)+1))))*180/p
≈ 85.05112877980659237779671552192469206698259126842068840576245939159
← leaflet uses 85.0511287798 which is… only marginally better
• better clip check:
var sinLatitude = Math.sin(latitude * Math.PI / 180);
var y = 0.5 - Math.log((1 + sinLatitude) / (1 - sinLatitude)) / (4 * Math.PI);
→ make sure 0≤y<1 (≤1 will do, given the follow-up clipping)
(though latitude still must be in ]-90;90[ or this will div by zero!)
• explains map zoom levels (L.TileLayer and TMS)
and pixel coordinates, graphically and with sample code
• quadkey indicēs (great!)