mapbox / mapbox/mapbox-gl-js

Support non-anti-meridian split on alternate projections

Open
#11,180 4 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature :green_apple:
Dominant language
TypeScript
Stars
12.4k
Forks
2.4k
PR merge metrics
No merged PRs in 30d

Description

For conical projections where center is close to the anti-meridian, such as Albers or Lambert for Alaska or New Zealand, having the divide across the anti-meridian is a significant user experience problem and could be a blocker for adoption.

We should find a way to move the split to the opposite side of the world from projection center so that it doesn't interfere with interaction around the target area. Not sure what's the best approach for this yet technically, but one idea is to use one more "world copy" on the left side of the anti-meridian, and modify tile clipping masks for tiles close to the longitude opposite from projection center.

![image](https://user-images.githubusercontent.com/25395/138860379-75770155-7fe4-4191-8e31-d466e76183e5.png)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how conical projections choose the world split and how tile clipping masks are generated near the anti-meridian; the issue names no files or tests. Compare the behavior for Alaska or New Zealand and determine a technically sound approach for moving the split opposite the projection center, with interaction around the target area working without anti-meridian interference as the completion criterion.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
computer-graphics, frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.