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-1.0.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf35d52e0a0413bcb878706c1a565a2939d49a2e011498d905b7bc8d1ad12543 |
|
MD5 | a5fa4c4b51373c84203cb11d426b8260 |
|
BLAKE2b-256 | d4961b2c73d12424b61fb0d91c55a10cd0923e9d68bab212f0a6b83285bdefe8 |
Hashes for mapbox_earcut-1.0.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5ee744864f7cc9b0b9dd6031871731e2340cf65f18b0ca64121f2682be0ba4e |
|
MD5 | 02c62b8bc4ecb9e5e11c26a08c09e17a |
|
BLAKE2b-256 | 5a2d0feec3d4ad83a1d1510ff5125450be3413eee605e0577951a67e3d820ada |
Hashes for mapbox_earcut-1.0.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10a91eabe076f474375accfc164e91af8bf2b15675d443b08b938315cc234be9 |
|
MD5 | 7ed7535b02558d20a1fb41f82cf89850 |
|
BLAKE2b-256 | b268acd37bfbecafb1244929208e85538799dfcf76c3edc588771d9ec65f12ca |
Hashes for mapbox_earcut-1.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4828e9002384e7d7ad1a213f61029f8e17d6fa9a30408d64f9d755f0c11762b |
|
MD5 | 166f94c1ce6e1c7d60d6b29ac3784ecf |
|
BLAKE2b-256 | b23530c333da1037680924bafe9a44c9d0d5b26a84f7f1ee6a2713fc19b02bc2 |
Hashes for mapbox_earcut-1.0.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f630f135e20a781f9d7ce7aa0bba89ebd46d46344970db9aa8cbcf6eb1cb4b94 |
|
MD5 | 7d201216559e84b8925f8ab142eb8a48 |
|
BLAKE2b-256 | 8137b8e380edd9295ac254956cc5f38f84315577acfc95936c628549a9f08081 |
Hashes for mapbox_earcut-1.0.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5a74951b9cb827f6bf77cf6f6afc9af5dc57b2e6257770d7d256a1aa0787142 |
|
MD5 | 45a2345bd84109bf5e8a41ba742ef68b |
|
BLAKE2b-256 | 6256de6a615011c97feb8086a99c222242c3a2f759f3cf84605ed586b6a7376e |
Hashes for mapbox_earcut-1.0.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 653e03417a308febcd2cb74812d7077dbd52c47da492c9b2e5f9c42adb2d659a |
|
MD5 | 6c1fc0da1941856be34d02c2265c9978 |
|
BLAKE2b-256 | 77dec02b30d351a8eddc7bcb3e5708180d174d725875dd8107c61a52dc9fedc6 |
Hashes for mapbox_earcut-1.0.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b106999b3880188891e1e87f2c5abbf739bc09ec89f8044e196fd4607d24ccf0 |
|
MD5 | e23ee216f5f1a178b936a115636dc70d |
|
BLAKE2b-256 | 13ffa0e9eb40e22250e3b1a5615b1cf9c8a63e37ad6ad16405b211481bb98397 |
Hashes for mapbox_earcut-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ced70e48725bbba7da442e36a013df447ebd1b1cc2cfac02222a4b78f03615c |
|
MD5 | 1ef556e343bb84e248fac1a6f9a40309 |
|
BLAKE2b-256 | 7cee75bdd4eda19ae8dce6a7ba8643426a8409dd9998c1ac43b1aa9a2c61b2fc |
Hashes for mapbox_earcut-1.0.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f3c4df83fa5f7c942d18fb0433bf903dc22b447860094444dd960dd5b85c526 |
|
MD5 | 1b52e045b32be15156d284d486e39bb7 |
|
BLAKE2b-256 | 4b2294962fac8e67d6c2b4d452a2cb0b233ef673d6d97f009eedee4d8fa87b5e |
Hashes for mapbox_earcut-1.0.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fd85aee997165acd42ba726ba7f087f72b72f53cc0b37d430987c9bf1acc2c1 |
|
MD5 | 08b118f530ca2e23b844b516bc4193c0 |
|
BLAKE2b-256 | b3b896b4203c7b3f888eae3f1a47ebbee667d29333de87a8f04c1ea0957076bd |
Hashes for mapbox_earcut-1.0.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7792378a4a13e472ae5021104dfd423fd6e014a67bdbe27c0c49b1df47f6f050 |
|
MD5 | 38d416067e177a771e2bc7b4e3836374 |
|
BLAKE2b-256 | 23411275181fb17c334f3719700ff527cd2154bad0c8e63c55813d2b2add1da7 |
Hashes for mapbox_earcut-1.0.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cefb0fe3427f2a207753e2eb869de05893f1156199474e998c9427bdb465b50b |
|
MD5 | 69a1e5d1580e9f785f1558d388e2db56 |
|
BLAKE2b-256 | 78bee28b0fc168a5f08ac82a6c1b35665ae2657e9d996a67803c2470178c7c68 |
Hashes for mapbox_earcut-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 175200a3a7d1db037592b48c3b470695ff969ed0aaa69a00f7526d8502848756 |
|
MD5 | 1a234963e91a12f32163463988624d67 |
|
BLAKE2b-256 | a0503d6088455d04f2bb23d4657613770e0f93766045f39d33faa2cc2ed8414e |
Hashes for mapbox_earcut-1.0.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4229ec0fbe1baf88cd9a8f17b76d905323ee7daade0f19f573bd488ca8fdc06f |
|
MD5 | 7512f5dae8b9b12d066792d0a85b2f1e |
|
BLAKE2b-256 | 3abda58fe51346b285d72c2410faa08aa74ad31f2d908fbc8c133f93cdbca540 |
Hashes for mapbox_earcut-1.0.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cb4d98af4c1b256483903a909099d7a84664e9a5aec5818c84d44f1104c3144 |
|
MD5 | 8ce84ddaa2c02a5213693c90258e8c42 |
|
BLAKE2b-256 | 310f15615ba453ab93fedcc89098ef7638cc107f147a6b6081b7e15cb5b4ce9d |
Hashes for mapbox_earcut-1.0.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98a412757740faeede3167c54426917076a863ccc74847f9e58bfcf51f0b7be7 |
|
MD5 | 44883f2f1291c6933b9567fd84b643bb |
|
BLAKE2b-256 | 30112fe0c04da74f887dc165581815df3e21d5416def01cc571e3f562c4e7aa4 |
Hashes for mapbox_earcut-1.0.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f62d8b7cb57559ca9aaf5cde8cebe309eb493d344b24b2934e18945e05e89221 |
|
MD5 | 235f29a41988e1d41a3919778b9966eb |
|
BLAKE2b-256 | 24018411b4295e4a870788eb98dd409739bfe9a18339a6ee4131cc09388e92e0 |
Hashes for mapbox_earcut-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa58aabef34ffd76b262efec7bc9c9998c1c6561c192b7e7ac60b68c27c6b145 |
|
MD5 | 305a4daf5957e4399e50987d86b73ab7 |
|
BLAKE2b-256 | 0882e54d17210e8371b65c3ba5bdcd0943e82bb274c729aa7daa48d8cfed10f4 |
Hashes for mapbox_earcut-1.0.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 991bfea36ba73f1cbd22aa93a2ff4beec13657ac5acd7a602a912eb2f84f4860 |
|
MD5 | aaa62ebcae9a72ce28543d5a5212fdd7 |
|
BLAKE2b-256 | ac8cb53817a100b8afcc838bda0014b84e5f3b97893fdabdc8c87b3e098913fc |
Hashes for mapbox_earcut-1.0.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b8f8fe1b42a134c7a113c123be74dca64632e672d82aa4b4024f8453f590d71 |
|
MD5 | 83943e8ced9ae0e40bb6735dd1afb34e |
|
BLAKE2b-256 | 4e70383a4cd710f1e954271de39826c26a19f9bb2b5be88fc325ad31a8444939 |
Hashes for mapbox_earcut-1.0.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf4dd5768bc733e6fe0cc6a907e168c4a9777a1d5e148b5daa1edf45ce7c3e9f |
|
MD5 | 80bf3e0eb96cbbf9b5fd7307f2bf285a |
|
BLAKE2b-256 | b3c4ef7bd419dd7d24d6605c1bf91e4b7019e0121f9c6226b56976edf1edcdea |
Hashes for mapbox_earcut-1.0.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faff85293f3baf6fe53db5958dddcbb4f9b883f344921c378f82ddce55eff5a4 |
|
MD5 | 8d8d841f99c45473500f23356cea3b24 |
|
BLAKE2b-256 | 97ab05b0ebab3a95f6644fd223c881f2376901a0af5b21ac83e0359a8e9a2109 |
Hashes for mapbox_earcut-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c1f0746b7921dc8e09c34774671c679771e36782cecd21e7ceeeccad70dfc35 |
|
MD5 | 79e69ef1d4b082df649e9dcc41efcf65 |
|
BLAKE2b-256 | c7b05daa7ed536448d6e18e0b1481323f34c2f6a54606f73b31d85046bb1543e |
Hashes for mapbox_earcut-1.0.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fe02ca7bb1ec5bd5f288807beb880d5677748957e8ecd797aee91b18a235c10 |
|
MD5 | 3ff8db32978a7f20ae802d0ab9902589 |
|
BLAKE2b-256 | 9a8b2af6761495859802ade930650b1a97f52a7c958c0f8d0cc4bea9342211ac |
Hashes for mapbox_earcut-1.0.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7d3e5956d24d9d987c435dadecca723c5db6e7e46c824a8dbd98adb97057442 |
|
MD5 | ccd6cb180170176a0060e138d5ffda85 |
|
BLAKE2b-256 | 0ed020ce86ac60decdd9884c49f2da94d613fd9402e941175f01f9704937e9cc |
Hashes for mapbox_earcut-1.0.0-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55899708fe29ac8213e040ce836afdfe3cf4d63392c78c0c03ccc1b3350fbd25 |
|
MD5 | 7f4d7493fb437926349ddc2f0aa5bc13 |
|
BLAKE2b-256 | b41a1e22e1c48895c8bfabbf5e5f5a6c01835fd978f5dbd3a8b9e11e2d0f9174 |
Hashes for mapbox_earcut-1.0.0-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f9245ea3eeab942020058376be0d2368940ecb0a659d5ba83579cf11699cd8a |
|
MD5 | b91f79e3ec1ff072d433cef3ae64e674 |
|
BLAKE2b-256 | 5f4bffd3b01a30f1e8045284f74470d54a97255501801d85163b3864fcd7a129 |
Hashes for mapbox_earcut-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 265d60d64a91af267fe9c747625341a5d042009c5436550037cebed69c701c62 |
|
MD5 | 5766703b00cf563a05d0dc0da395abc6 |
|
BLAKE2b-256 | b50483e0a3b42cfbc3c948c37a6ceea0c3c5b5c72095b1a196fe74d9d2eb7bf2 |