Comments (4)
You're not doing anything wrong! The reason for the bad display is that D3 doesn't have the same definition of geojson as the others. (See the introduction in https://github.com/d3/d3-geo).
In d3-geo, all the lines follow the geodesic lines (great circles), and they don't need to be cut at the antimeridian (longitude=180°).
To convert your results to the standard geojson you can use the d3.geoProject utility from https://github.com/d3/d3-geo-projection and do this:
projected = d3.geoProject(
d3.geoProject(
polygons,
d3
.geoEquirectangular()
.scale(180 / Math.PI)
.translate([0, 0])
),
d3.geoIdentity().reflectY(true)
)
After this operation you should be able to see the features correctly.
https://gist.github.com/Fil/f67b0f6ccfa1f072c555775e331c307b
As you can see if you inspect the resulting structure, one of the polygons has been transformed to a multipolygon, which doesn't make sense from a topological point of view… and that is basically the explanation for this (very inconvenient) difference.
We should probably offer a simpler API for this "solution".
from d3-geo-voronoi.
from d3-geo-voronoi.
Another reference here: d3/d3-geo#104
from d3-geo-voronoi.
@Fil many thanks! I've spent a lot of time finding solution. And now I understand the correct approach!
from d3-geo-voronoi.
Related Issues (20)
- Move to Delaunator@3 HOT 2
- return a clean triangulation HOT 4
- geoHeatmap
- long edges?
- No geoContour in v1.6.0 release. HOT 2
- Would pull requests with typescript *.d.ts definition files be welcome HOT 1
- Overlapping Voronoi polygons HOT 6
- geo_hull() Use more semantically meaningful Set and Map. HOT 2
- geo_edges: Use the more semantically meaningful Set HOT 3
- Benchmarks: A uniform approach HOT 1
- Extend and correct benchmarking HOT 2
- Add code coverage
- Export base functions to compute elements as they are needed HOT 4
- Error in hull HOT 3
- Inconsistent broken projection of a 4 - segment beach ball HOT 3
- Voronoi where each site is a segment instead of a point.
- Bounding box support for geoVoronoi HOT 4
- Unexpected Singularities in Projection HOT 7
- could we support python usage? HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from d3-geo-voronoi.