Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Antarctica landcover #342

Merged
merged 3 commits into from
Jan 5, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions tiles/src/main/java/com/protomaps/basemap/layers/Earth.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.onthegomap.planetiler.reader.SourceFeature;
import com.protomaps.basemap.feature.FeatureId;
import com.protomaps.basemap.names.OsmNames;
import org.locationtech.jts.geom.Point;
import java.util.List;

public class Earth implements ForwardingProfile.LayerPostProcesser {
Expand All @@ -29,6 +30,19 @@ public void processNe(SourceFeature sf, FeatureCollector features) {
} else if (sourceLayer.equals("ne_10m_land")) {
features.polygon(this.name()).setZoomRange(5, 5).setBufferPixels(8).setAttr("kind", "earth");
}
if (sourceLayer.equals("ne_10m_glaciated_areas")) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section deserves a comment explaining the problem and why this particular solution works

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added one, thanks for the tip!

try {
Point centroid = (Point) sf.centroid();
if (centroid.getY() > 0.7) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This works, but it's confusing this isn't a negative number, and 70 would normally not result in the northern tip of Chilean Antarctica (many international bases there) showing up correctly as ice.

Please add a comment explaining that you're targeting ice features in Antarctica south of -60°.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Web Mercator Y in Planetiler goes from 0 to 1 from 85 deg N to 85 deg S. The equator is at Web Mercator Y = 0.5

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added the comment

features.polygon("landcover")
.setAttr("kind", "glacier")
.setZoomRange(0, 7)
.setMinPixelSize(0.0);
}
} catch (GeometryException e) {
System.out.println("Error: " + e);
}
}
}

public void processOsm(SourceFeature sf, FeatureCollector features) {
Expand Down
Loading