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.10-pp37-pypy37_pp73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d016823e863309b9cc542bb1d3bcdc274ec65fb23f2566de298188dcd4a75c0e |
|
MD5 | eac94745ab2791c0c81927aa753cddbf |
|
BLAKE2b-256 | 4577616d81530250e5229886fb6df9d59c4250d1a31641d531cbea920db126e1 |
Hashes for mapbox_earcut-0.12.10-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e6614f7b437b4b0a69ab642cf35569079408ac25c193013d5ad26e82c71fc01 |
|
MD5 | a446fc01f1c4c950d9125379b6260f7d |
|
BLAKE2b-256 | ffebb3f8262f6ff40cfb663b392082f4ee5c308d69e9fcdb07b602891294e11f |
Hashes for mapbox_earcut-0.12.10-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b6c2bfc28dc82a27071079885ffbe0836c0ad5dbd4ab47a5edaa24a86218daf |
|
MD5 | 5adeea1739297cc43d4d5b4bc7759a17 |
|
BLAKE2b-256 | 69c72f1de9ab25f093d0a31ffbe0ae8b031dacda0a89e3eedfae4c183d142555 |
Hashes for mapbox_earcut-0.12.10-pp36-pypy36_pp73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e1e3cf5a881eafeba7a7e5c4b1b9e7376710c48513513894e2a082ebf870326 |
|
MD5 | 1b53e861793f0e970ec41bea4d6d080a |
|
BLAKE2b-256 | 07c7dc21196d91cbbdc5e5743329b0c4b05ecf782b376a2aac1830c49a1e4a4b |
Hashes for mapbox_earcut-0.12.10-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41a282c485e96135ff15c01e0e1eb334cf1a05235edde8154b7b6e30187e54f4 |
|
MD5 | e7f7b75ef9de26faba40f705689497e4 |
|
BLAKE2b-256 | 7d554298844ea8366e4317a33f7dc73860532bcbbbee2d3b925da1912686fd3d |
Hashes for mapbox_earcut-0.12.10-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e352482e6022cc113dd008886012f0966bd2511933f888805fa87f070423d5b1 |
|
MD5 | d47dbc84236d948e97a4b3e69afbe9e8 |
|
BLAKE2b-256 | f131b6b158dba2dec710e0e42e45b71f5df3f273d9d2b2d1a1f467f3bbea4727 |
Hashes for mapbox_earcut-0.12.10-pp27-pypy_73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 044f70ed230bdb94f08356ec84f4bd30e4ea493d63700c3cc6fa86c5cf57623e |
|
MD5 | a6640b8c9d1ee9d57aa2d7cdb7b06d8a |
|
BLAKE2b-256 | 2705f3e5d22fd54a8c18f232ca1ff3835e47441c2c46ceb570081e1adf20d8ab |
Hashes for mapbox_earcut-0.12.10-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3a9a81f696627f3c331f16c8d628b494949fa68067a42d2f1a6a56ee115eb0d |
|
MD5 | ca03349ab759c1864cba17cd02a40bde |
|
BLAKE2b-256 | d915d46b88efc4dc768c9f58cd0dee354d02c8c2263b8109004acea96ff3b3b1 |
Hashes for mapbox_earcut-0.12.10-pp27-pypy_73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad76defd6188e71023e43e5aed32ab5d540c0452a74918fc5de9bcccdee6c053 |
|
MD5 | df588bbef4b219521bc302e96e29c0bc |
|
BLAKE2b-256 | dbdd77aa87f0022e784df98dc5ac0eac509768219d5ff41e8261f280d8130876 |
Hashes for mapbox_earcut-0.12.10-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 742bd1f94113f44f1adcb5f3e2dca6e288695645b7eeab5d94f589dacda092af |
|
MD5 | d7dcfb0be61326628d228b7449a59bcb |
|
BLAKE2b-256 | 18d533c1b4d94818299d7666cdca5166161f963b661e457d33d01603a34da852 |
Hashes for mapbox_earcut-0.12.10-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c94a263767a841a5f7e8f03c725bdf41c87b8936c1a5fe18a5a77f3b9344d68f |
|
MD5 | 926ef8c715e5d0a1b51af480833f7cb9 |
|
BLAKE2b-256 | 0f1f70ae86883a962cd5c1ea33dd9574daf1034293cdb351cbea60ab8eda66ef |
Hashes for mapbox_earcut-0.12.10-cp39-cp39-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f284c0fc7f3c84664e9dddabae4eae729e6458e96ec5f30c9d7000c9b0dadca7 |
|
MD5 | 8a2837023146bb7369ec5a1fa4392806 |
|
BLAKE2b-256 | 32553c8f3794154aa585a129de1e0aee7c239dda230c4ef14f6458716374e094 |
Hashes for mapbox_earcut-0.12.10-cp39-cp39-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 031132cdfa4d20e640f24d6817b65a91e3292c34ed527b4309617c9992284133 |
|
MD5 | 57d4856a3bf212ca570201503c526c79 |
|
BLAKE2b-256 | 65bb64fad6e4473a02ee9f26dcf6ea0176a97f404793bbe3452b4e8c639cd589 |
Hashes for mapbox_earcut-0.12.10-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca00bdcb162b6a543f3061f49e2dcde42d6b780a545b5054da437e4ff5e33905 |
|
MD5 | 2decde80e66fa7dcbdfe91d964d1a492 |
|
BLAKE2b-256 | bc9b951caddd6d9e005c43f1ba58f66afd757a6e4aadc48d8548bd9f715ac51c |
Hashes for mapbox_earcut-0.12.10-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f4601b949ab43cf21dca86ffb6b4e2b30974ab3112f089d16b5f365e8b446f4 |
|
MD5 | f720863db7a2b58e72f46849601a35f0 |
|
BLAKE2b-256 | 7a3ab9f556f007b8744e5a6f6c4d76c021d031fc20226d2c35778cffef23f80e |
Hashes for mapbox_earcut-0.12.10-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe4b4e1c53fe0fde8e5fee86d868344f47d4d9fd89d9599548ea4b98349f10d6 |
|
MD5 | e44c4debef25d63a55bade36c02b1578 |
|
BLAKE2b-256 | de1f79517cca93f1a2eca1a4f4230c1c922a27c2ff99f8bdeb64e7b3d471054a |
Hashes for mapbox_earcut-0.12.10-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24cc595987932b5d47b93ddb733c6bd084d91ff0af66ff2205aa717f0a5a13b8 |
|
MD5 | 4fc1d9be5fa028c38d5b78d3b1d569d5 |
|
BLAKE2b-256 | 2ee04583c4fe4ee1da1839ec52ba8ba915bae6ec246c240d5d683e264553a0cb |
Hashes for mapbox_earcut-0.12.10-cp38-cp38-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cac7c8c332d1e802f478b5b79166ab38005b6d1bd908fb96857a8941e702f70d |
|
MD5 | 55e892d90b3ce0b9a2fb0c4445f43b7e |
|
BLAKE2b-256 | d8ee9c5fcfdf23cb0b009c883b09c17a50860a0e228f5365630ac8b9ff876b2c |
Hashes for mapbox_earcut-0.12.10-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19f16be13a40d20419362f8ce27cf2dca8f0b8f4c7caa24caaff8351bcdf853e |
|
MD5 | 24ba36b556b0dcc0214e08d8f03e9a3d |
|
BLAKE2b-256 | 9de9ce74a1ecc78155a27f73bfebe0b0ce833b06416388e6470dcebafd8bed14 |
Hashes for mapbox_earcut-0.12.10-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f854a887f854bdea62c4b58785b82cf70056d53dc3bf23146ce68c125ceed96 |
|
MD5 | 08265a68949d4869e541b19cee87e1a0 |
|
BLAKE2b-256 | db0df88e2ef233a93e422ee8c37ad7aecd84a9e15c88e064913b3b3d67925bf5 |
Hashes for mapbox_earcut-0.12.10-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62a8787e30f7bbc6e1ebe8b11591119ed85aa5044b2cf3f6afb058e6fffeb8a3 |
|
MD5 | e70752a912de303193182a23da4bd27e |
|
BLAKE2b-256 | 592ef5d5e10c2d0b301e9e1016df698164d0b032a6f1887f5c1a81ec151e6e38 |
Hashes for mapbox_earcut-0.12.10-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebeef32d504bf7e1ba986f86d87a8d3c96a54b6e03b0535ccdf0ce8f2f56e563 |
|
MD5 | 5abb43f2b93f51b4e21656af2ac297a7 |
|
BLAKE2b-256 | 2f59abd355ef9923a6a0a0ab5fe5a427510ab00e32c9ebc73fb82fe67f624f15 |
Hashes for mapbox_earcut-0.12.10-cp37-cp37m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 054cd56cf8adf179d0aa0e8a061774e5afa767aaf6507851f4d2731b58f03d43 |
|
MD5 | 031f5107318d650b8145fff5b60c1091 |
|
BLAKE2b-256 | 2a383f6384f48ebc719f5b2be37f6e36da977ba3e327aef26623c36dee506e6f |
Hashes for mapbox_earcut-0.12.10-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 619a31a4d9748a30fbea82fd45beec6ab9e7f8a7ae7818be46f09d03ea0d9185 |
|
MD5 | a6f57051344afb57147120ffc6161aea |
|
BLAKE2b-256 | f7cdf4c26e87db43c3be56de29e63442740fc5565d67e16a1cb56fa1c3dc0f99 |
Hashes for mapbox_earcut-0.12.10-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb82e4ea9a67a9cdd46c9fc39bcb24e11f49569010368f9c5d376489bb2d0317 |
|
MD5 | 15da4c2842cfab3c9cd847a6728341ee |
|
BLAKE2b-256 | f5314be430190c84db2bfde0f027ce4e49b16f3fba2bd83760b0bbd0e8e473f6 |
Hashes for mapbox_earcut-0.12.10-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4eaf2a9e86bbf808bf045eb587ec93a393e9d75ab87e7c1c9c8a5d9e122e30ac |
|
MD5 | 2a060247d8b5b622258dfa433c848368 |
|
BLAKE2b-256 | 2b7e4841e59768a18437da5b5639f6573e644f29acf98da6d239823c8c7b2ceb |
Hashes for mapbox_earcut-0.12.10-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b9c6147249edf5049ccf7a7bca5bb29c9d512b3a5b62510659cfc51f1b8f806 |
|
MD5 | c24cb3e9de22f209f65fccf83a2ad0b3 |
|
BLAKE2b-256 | 71392a17aac5f164785cae5663311c170353780cd1aa923baab7542344aae16b |
Hashes for mapbox_earcut-0.12.10-cp36-cp36m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 498b7f35c6a7c5c25829bcf1a79015ae64e94e8e36b84bd06e93131352b409f0 |
|
MD5 | 4b546caa098ca9a047727275b13e34cc |
|
BLAKE2b-256 | 8c2fcd809600b86b0a2136581edfd79bbf0435244ee11352c77225565762e075 |
Hashes for mapbox_earcut-0.12.10-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 553688de45e73fa7d192fd6c29b87a4c5ea60a728b3c7b4c5f1715a89e6a8e54 |
|
MD5 | 4377f1b806a7c9e09e52fdc9cd2fe057 |
|
BLAKE2b-256 | c8b379c97c2a70537f95f90b14521449eea52e5c43ff453c528513711daa15ca |
Hashes for mapbox_earcut-0.12.10-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90b2977a9eda2a1873e44d7821ecf3b18062aa0878e957cb306e6018aba105c9 |
|
MD5 | e4800a2f76b5fe66938fa897be8c6348 |
|
BLAKE2b-256 | 71a398620614f0c6e3e5eb69caaf1889b88172469224049528299d6454d876ad |
Hashes for mapbox_earcut-0.12.10-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa3355248d3beaab67438373315e55a37ecc2694a4a4b1965e9d8f582a210479 |
|
MD5 | 7bc80fddff60dabc9b64cb9d29d0f0aa |
|
BLAKE2b-256 | 2813be3f3dacb38bc0835fcfd85d4e91503dd29361b2d805dee5e1cc3e9bda02 |
Hashes for mapbox_earcut-0.12.10-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b083a065afd40961cc311b425c54275f531d91a27bdd34a2049993a68d8a651 |
|
MD5 | 1fc92c1e739b0c13452eeb763398b0ff |
|
BLAKE2b-256 | 9736770b0e95924f69cbe704f9b1ade1e6d154caa8ce65cc3468dd347c5dcf89 |
Hashes for mapbox_earcut-0.12.10-cp35-cp35m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a15cb52f3f6d5980e41b6ca31976cc2048acf290f2e5159d7527e16e5c5d748 |
|
MD5 | f3c3af0601076e538f40f89ff1481063 |
|
BLAKE2b-256 | d0621a920b6802bfbdc7511b7f06d136105ada77e0d46954ad1200aecd25b0d1 |
Hashes for mapbox_earcut-0.12.10-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04228ff704d5edc49d71ba3fd07c4a8621a4f416d2ad5c2504a80d0cabd51c18 |
|
MD5 | f3068cf4835ed1afbeb2c44ced1d5ee2 |
|
BLAKE2b-256 | a7fde24f99ad33b148b43aaa75593a37b3d76cf238b946d3d08d7012f5d16cdc |
Hashes for mapbox_earcut-0.12.10-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 124cc27486d0e9c9b185a6d80e551e736e2bc81d28e077e297ac39980c14e588 |
|
MD5 | 9950c9c64e46570ff0b2e8c8a9c4976f |
|
BLAKE2b-256 | 809d87704351faf7ca891cc2203cb3be8c160bf03e595846eacdfaec149f2789 |
Hashes for mapbox_earcut-0.12.10-cp27-cp27mu-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2b9079df53258766c3108a1c46a7942963c26f216f9bc2d216f93eeed1da76c |
|
MD5 | f5cd95d2f9d863a3d900ada6c89877e8 |
|
BLAKE2b-256 | 5068b89e12d8f8c0ca6d9204dc4d7788070c4e373705bebf28de36daaed54187 |
Hashes for mapbox_earcut-0.12.10-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3475382dd573986d0dfe3f6b6fd3b1f576e74af7fd7d95066d2506ce8f4b38e5 |
|
MD5 | aedcb147adb84fda47500112bd2cbadd |
|
BLAKE2b-256 | 84b165b868d4eeda664d3aada4169787c2b0ee23785699dcb4dce886d489430a |
Hashes for mapbox_earcut-0.12.10-cp27-cp27m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddda755c63cf5f9bff338cd375e4e937035898827fef960102e2f4c8984cb068 |
|
MD5 | 9440377096734a96a889244497544f30 |
|
BLAKE2b-256 | c293932e830b00fa9332499acc34bf868869c35b5a99b9e0b824fc6ffaeda579 |
Hashes for mapbox_earcut-0.12.10-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2aaf7bdb002d36d38d1412088329a9176de3fcadc24a53951b76e49a27e34d78 |
|
MD5 | f21a4a42d142e80a76c542a5ca74d7e0 |
|
BLAKE2b-256 | c7b6828a9cc6aab3698ef3bad20852e730ce79c3730d593867a031ad31889040 |