Steps to replicate the issue (include links if applicable):
- Make a mapframe with JSON to display markers and lines.
- Put four markers on opposite sides of the antimeridian
- Marker 1 at 173, 1.5
- Marker 2 at -173, 1.5
- Marker 3 at 187, -1.5 (outside of domain)
- Marker 4 at -187, -1.5 (outside of domain)
- Draw 5 latitude lines
- Line red 1: 175 to 185 at 1.0 N (escapes Eastern Hemi)
- Line red 2: 175 to 179.99 and -179.99 to -175 at 0.0 N (following advice https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.9)
- Line red 3: -185 to -175 at 1.0 S (escapes Western Hemi)
- Line blue 4: 175 to 179.99 and 180.01 to 185 at 2.0 S (escapes Eastern Hemi)
- Line blue 5: 185 to 180.01 and 179.99 to 175 at 2.5 S (Line blue 5 reversed)
Here's the wikimarkup:
<mapframe text="try several options" width=700 height=350 zoom=5 latitude=0 longitude=179> { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "marker-symbol": "-number", "marker-color": "46ea5f", "marker-size": "medium" }, "geometry": { "type": "Point", "coordinates": [173.0, 1.5] } }, { "type": "Feature", "properties": { "marker-symbol": "-number", "marker-color": "46ea5f", "marker-size": "medium" }, "geometry": { "type": "Point", "coordinates": [-173.0, 1.5] } }, { "type": "Feature", "properties": { "marker-symbol": "-number", "marker-color": "46ea5f", "marker-size": "medium" }, "geometry": { "type": "Point", "coordinates": [187.0, -1.5] } }, { "type": "Feature", "properties": { "marker-symbol": "-number", "marker-color": "46ea5f", "marker-size": "medium" }, "geometry": { "type": "Point", "coordinates": [-187.0, -1.5] } }, { "type": "Feature", "geometry": { "type": "MultiLineString", "coordinates": [ [ [175.0, 1.5], [185.0, 1.5] ], [ [175.0, 0.0], [179.99, 0.0] ], [ [-179.99, 0.0], [-175.0, 0.0] ], [ [-185.0, -1.5], [-175.0, -1.5] ], ] }, "properties": { "title": "test lines", "prop0": "value0", "prop1": 0.0, "stroke": "#ff0000" }, }, { "type": "Feature", "geometry": { "type": "MultiLineString", "coordinates": [ [ [175.0, -2.0], [179.99, -2.0] ], [ [180.01, -2.0], [185.0, -2.0] ], [ [185.0, -2.5], [180.01, -2.5] ], [ [179.99, -2.5], [175.0, -2.5] ] ] }, "properties": { "title": "break continuous values", "prop0": "value0", "prop1": 0.0, "stroke": "#0000ff" }, }, ], } </mapframe> `
Markup also available at https://en.wikipedia.org/wiki/User:Glrx/sandbox#Isolated_test
What happens?:
Markers 1 and 2 display. Markers 3 and 4 do not.
Line red 1 displays left half.
Line red 2 displays entirely.
Line red 3 displays right half
Line blue 4 displays left half.
Line blue 5 displays left half.
Click on the map to bring it up in new window.
Markers 1 and 3 show. Markers 2 and 4 do not.
Line red 1 displays entirely.
Line red 2 displays left half.
Line red 3 disappears.
Line blue 4 displays entirely.
Line blue 5 displays entirely.
(Missing pieces can be found by zooming out.)
Different but similar results if longitude attribute is changed from 179 to -179.
What should have happened instead?:
First, the mapframe display and the display when clicked should be consistent; they are not.
Second, Line red 2 follows the GeoJSON spec, so it should display correctly. Also, Markers 1 and 2 should display correctly because they are within a reasonable domain.
When the clicked display is zoomed out to display more than one circumference, it should duplicate the symbols.
Software version (skip for WMF-hosted wikis like Wikipedia):
Other information (browser name/version, screenshots, etc.):