Python bindings for the mapbox earcut C++ polygon triangulation library.
Project description
mapbox_earcut
Python bindings for the C++ implementation of the Mapbox Earcut library, which provides very fast and quite robust triangulation of 2D polygons.
Original code: earcut.hpp
Original description:
The library implements a modified ear slicing algorithm, optimized by z-order curve hashing and extended to handle holes, twisted polygons, degeneracies and self-intersections in a way that doesn't guarantee correctness of triangulation, but attempts to always produce acceptable results for practical data like geographical shapes.
Provided functions (depending on dtype of vertex data):
triangulate_float32
triangulate_float64
triangulate_int32
triangulate_int64
Example:
import mapbox_earcut as earcut
import numpy as np
# A Nx2 array of vertices. Must be 2D.
verts = np.array([[0, 0], [1, 0], [1, 1]]).reshape(-1, 2)
# An array of end-indices for each ring.
# The first ring is the outer contour of the polygon.
# Subsequent ones are holes.
# This implies that the last index must always be equal to the size of verts!
rings = np.array([3])
result = earcut.triangulate_float32(verts, rings)
# Result is an np.ndarray with dtype np.uint32 and shape (3,)
# containing indices into the verts array.
print(verts[result])
# [[1 0]
# [1 1]
# [0 0]]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for mapbox_earcut-0.12.11-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6542cc54b330c876e62dad15e98dd4df18e2fd75ffb5b9c84d0629bd085ea123 |
|
MD5 | 6bec0d5dff69b4b39234da976cc685eb |
|
BLAKE2b-256 | 820199d633c34b9b3afabc01c09ebba6ba31a9934c773a6f06ed715124b5ff05 |
Hashes for mapbox_earcut-0.12.11-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18cd01be27ec85357e2f9ea0bbe7ce2f71d593966568e5cf12a9b7e19bf0e8d1 |
|
MD5 | 651478ff72605f1216f17bd478fb4fbc |
|
BLAKE2b-256 | 2875e4d3dcc0aceebbfe0eb2a777b1bc4b5fa59b5a14d1af5886c74d56654123 |
Hashes for mapbox_earcut-0.12.11-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a39a27a205189476e6404a855652c834a1cef087207131d3515aff7ac06b1a1f |
|
MD5 | 4a45ffdb0ec905ea61dfc91be3b9a24b |
|
BLAKE2b-256 | be349bf56ba5d0b217612d1878413f21164ad96a9249018d6faa43a4fdfbab21 |
Hashes for mapbox_earcut-0.12.11-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96783c3f818f0844d9153a45312142b4e1bda9c284eb4828bba1a9e1fbeb268e |
|
MD5 | c868fbd4e9772a25cad8382942658736 |
|
BLAKE2b-256 | 0513b27389f74c53d61ce467db1a6d07561082ffc22807226074f4b3288add3a |
Hashes for mapbox_earcut-0.12.11-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbcd8c2831a8ce848842b3e710e57db00cfdd3d7753cc67b1cc61d0c7dd91ca8 |
|
MD5 | c864b5039fc687a78494bc28ab6fd25d |
|
BLAKE2b-256 | b194bf19d272d9bf52c9fc35bafc91aead2452557eb51f611d35e07f9053503e |
Hashes for mapbox_earcut-0.12.11-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d26621f4ca8eff937d4539d5d0e59142fd6466ea161791640ea17547394ffc18 |
|
MD5 | 5e788411ace98ecb36b1f90b2a62da68 |
|
BLAKE2b-256 | d2f70fc2c7015f5c029fc4bc22ca68c60a95764e8702911467254e66a0c4425a |
Hashes for mapbox_earcut-0.12.11-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fdbca4b14564e636e5ffb4c83f49c739bacf49ec590db9ca2c25e9642feb490 |
|
MD5 | 5a5311c45d5b881680b6782022fc4927 |
|
BLAKE2b-256 | 21ffe9cbfa2b21470fc0586e1431b26667327a0effd622c04a6785edae246e09 |
Hashes for mapbox_earcut-0.12.11-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3285f55acc7628cec1a61c551a7225b9c78c4f849c39417c768019b4408f8536 |
|
MD5 | c92e0ee9030e770f5c2ed98843ce8e61 |
|
BLAKE2b-256 | 872304e69fb54cb49fde8074dad21e1aad99b08634dca9409b8194b61cd36c69 |
Hashes for mapbox_earcut-0.12.11-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 421dbfc321871e66afe9264165848c0d13a37b27156f8a42a642bf5820bafdda |
|
MD5 | 6cd48eb923a9ff7c3fd3f922fc4bd747 |
|
BLAKE2b-256 | 931511506279e460d0147091fba3cfd9ac13e21c125c8757d80dd14736115464 |
Hashes for mapbox_earcut-0.12.11-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c7c297063c2cd3608d42b174303dfb32f3b9252cf115bed06eb3c64875d3458 |
|
MD5 | ed8177fbb0567b58e91d60bdadb7d928 |
|
BLAKE2b-256 | c21df91a9beba74b7f825f990222d064e82d2e15909b993acffcadfd48a43b47 |
Hashes for mapbox_earcut-0.12.11-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8faaa8239a6c6db67220a1908b232e0d673c4ba5d06e0943fce0e4d9908ca796 |
|
MD5 | 124f586f59a86f1c346963a08c17bda8 |
|
BLAKE2b-256 | fb756b76bf09c5d078ef43cd849aef947eb389ca9c1681880f6dce946330e010 |
Hashes for mapbox_earcut-0.12.11-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69da117d3716b5e1f052d7ffc93411a8651bb7c8a7cc41c4ed362e07a45eaae6 |
|
MD5 | a72c1235ed52a4b62b9d5940fa02dfa9 |
|
BLAKE2b-256 | f034df6f13fdd45553bd73db4a624e1a12ad15105364ee7413da420cb7bfa8f2 |
Hashes for mapbox_earcut-0.12.11-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4eff01f3dc0f62ad4ea38da0ef16a242d613aa4efa38eb924677d8427de2e20c |
|
MD5 | 63032ef2e88ef6a2ae9e0d860e1e848d |
|
BLAKE2b-256 | 84e1f9382c7d48b62daba00bb707dbe688a5a845c52c8d8f62f59eadb491c503 |
Hashes for mapbox_earcut-0.12.11-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f69ac829ce208bcf85d47e0bf6409b79fc81ae7ca390de3ce2c4e971693328d8 |
|
MD5 | 92fcede38b45690de8028819dbc352a5 |
|
BLAKE2b-256 | 9ad55d7f1318272e0b304782510a6d6d43c541bbc2c302d82b979455cc89cefb |
Hashes for mapbox_earcut-0.12.11-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e01b9a9bc15d85e7dcbec52148e9851760a67e097eb63e4bc354e551ab4ae6d |
|
MD5 | d8cd3d569b27e96c2f19145d676fc792 |
|
BLAKE2b-256 | 373b4744df72639348f72fb0dfb1e774faaafbc505e23b073596853c4c70f8ba |
Hashes for mapbox_earcut-0.12.11-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30c2d30a00ad28d03026dba76de870b2e66fe01a7b340f3cb459b65a4c902ee5 |
|
MD5 | ebd8104bd81d1d3f91f17130ceca4fc7 |
|
BLAKE2b-256 | 07c6fc0d05795a624dde3a57160b8e3f1cca3c60abfcac9e85e7c030187d1abc |
Hashes for mapbox_earcut-0.12.11-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc4c69b2953b1267804f34044c483420f902514ab3cdf02fe454b4fd7192e6a2 |
|
MD5 | 545132636809db601ad1920fb0044e38 |
|
BLAKE2b-256 | 1d56de3b0355e099fb5a3b7eee91ec48e17cc7663f127ab54a8a1add211d7dc8 |
Hashes for mapbox_earcut-0.12.11-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a31f96bc080e2f12fd39172baf891c5050bd56e2f60608d45139fd0ce489f08 |
|
MD5 | b5b4249b21bd53208b1588fb2cfb4454 |
|
BLAKE2b-256 | 13b6f4c0e8ba5d6d2c66befeac0a75423bd9e741850ccec9fce19c364cf15dd9 |
Hashes for mapbox_earcut-0.12.11-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc3e8b1961f53f7bae3c6818ee7114ba0512aa3c0a8fb61818240ecd02fd22e4 |
|
MD5 | 8c7b742e6c961a4d594be60f9812692f |
|
BLAKE2b-256 | ab8e66f13aab254aefad192b0da1915b6ea661a273d242dfa7314f511e214f57 |
Hashes for mapbox_earcut-0.12.11-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d90adb110d45198dcfc2b546648bd23b98737a38c6f0dea0e5949aeae3fca3dd |
|
MD5 | c6b961158c8e5a1bf987a3cb7ca9eef4 |
|
BLAKE2b-256 | 4e80befe046273277782fece46d79db17a5af0495a2d9ca164ea01dc043bc385 |
Hashes for mapbox_earcut-0.12.11-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a90b6773db060474bbc1062c972a18f9dc4ea6940a47fb39090e60f821a9239 |
|
MD5 | 2d0c2782a64d8edd75753fe8ac8ab676 |
|
BLAKE2b-256 | 8e480dfb3472052b3e23013bc3763b099eb8de5095ea5b281bd5666c020dafdd |
Hashes for mapbox_earcut-0.12.11-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64ca3752284345416834e591d9029d50dfa06661208f45d8b7e91f58e2610864 |
|
MD5 | 955aaa0eb2270d8a4d001a88c2ade628 |
|
BLAKE2b-256 | c1db63b97b53464b3c20776b43d7b0322dfd912189beae0552de05f2a88768dc |
Hashes for mapbox_earcut-0.12.11-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2eb7b64ee5b003a71fd1108894fd7a579c87919e7cf5da9f865d5e9694934cd5 |
|
MD5 | c2bedcb74b0508bc06e1f1fb5c0f62e1 |
|
BLAKE2b-256 | dd8b7126c7d00e55edc89240053b66cccadc14126c222ad3a67ec1e61b09a029 |
Hashes for mapbox_earcut-0.12.11-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83d6a8fc39ef55ddb1f47bd49523b11e7cf9f07292356b93ad18c58473282fd4 |
|
MD5 | 0cd76b7de4be39933268224c5b71bb28 |
|
BLAKE2b-256 | c2272d05c6ef4235e23a26655e3626246a9fbaf678a7350a262a3722f2d7038c |
Hashes for mapbox_earcut-0.12.11-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2357cc3402173b9ba601fe1d2abf55a2fc80a969680981e51fce3bd7524aab6f |
|
MD5 | f168d795e636d797d7f2b293d4977fcc |
|
BLAKE2b-256 | fd7a33d2598a1961cfd8d9fab4aa96ad8ecdf23d2b85631c1d4a795d939680a6 |
Hashes for mapbox_earcut-0.12.11-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9d8d4e61ad67ce5aeac7a948b4bb68bd2126d5fceccaaaf33a625b43225ba45 |
|
MD5 | c82a3af67fd48647b53f08447cdce718 |
|
BLAKE2b-256 | c82e6451a4e4d4899b4c4a28d2e66ec4f35a2a0dfdc0400f4a2f5c3a1cd08279 |
Hashes for mapbox_earcut-0.12.11-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d438ef905fb3ec6cb1378c5b169888e0f36a7786354a9a2ae8b8d5e75fe5beee |
|
MD5 | ef490d8003e9e65c20cac3d9c9644ac7 |
|
BLAKE2b-256 | 4488a7a274c4b346c0e8053407b35c6e9fe902ddc6d8f3789f7fe0d5348a0e14 |
Hashes for mapbox_earcut-0.12.11-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ebf5f1b3cc7ec0f90eb4f9479b8013da46ece2cf69c887fdfdee6bec1169eb6 |
|
MD5 | 77fec3427a6a15d498a251096188b5b5 |
|
BLAKE2b-256 | 9ecc33fb35e5a0f8f8628a6c6306fc8403e028a7cacfdf9c00257c13b1feb1e3 |
Hashes for mapbox_earcut-0.12.11-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c4c55711d7877ea4d2f11d1422c46004121a2b1f4aab6c0b587eab2d87b3a6b |
|
MD5 | 87c22574ca9692a93fd8c523829c79ab |
|
BLAKE2b-256 | 3034f50600408b37ce17a54ba0d7fa927d243f64dca8b5efe5165ec2ae0f6ada |