{"id":20400317,"url":"https://github.com/fschutt/polylabel-mini","last_synced_at":"2025-04-12T13:51:00.245Z","repository":{"id":57657065,"uuid":"149495439","full_name":"fschutt/polylabel-mini","owner":"fschutt","description":"Minimal fork of polylabel-rs with 0 dependencies","archived":false,"fork":false,"pushed_at":"2024-01-29T10:38:11.000Z","size":14,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T23:07:08.571Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fschutt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-19T18:32:48.000Z","updated_at":"2024-01-29T10:38:14.000Z","dependencies_parsed_at":"2022-08-26T05:20:32.228Z","dependency_job_id":null,"html_url":"https://github.com/fschutt/polylabel-mini","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fschutt%2Fpolylabel-mini","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fschutt%2Fpolylabel-mini/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fschutt%2Fpolylabel-mini/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fschutt%2Fpolylabel-mini/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fschutt","download_url":"https://codeload.github.com/fschutt/polylabel-mini/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248575678,"owners_count":21127241,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T04:39:31.511Z","updated_at":"2025-04-12T13:51:00.222Z","avatar_url":"https://github.com/fschutt.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# polylabel-mini\n\nThis is a minimal implementation of the polylabel algorithm, for `f64` polygons\n(since usually, that's what you have to work with in GIS applications anyways, single-precision is too unprecise).\nOriginal code can be found at: https://github.com/urschrei/polylabel-rs\n\nThe reason for this fork was that `polylabel-rs` requires 18 (!) dependencies for\nan algorithm that is merely 50 lines long. This leads to a huge bloat in compile times.\n\nYes, this is technically a copy-paste implementation, but for my purposes, I only\nuse the `polylabel()` function and nothing else. It simply doesn't make sense to\nimport 18 extremely generics-heavy dependencies for 50 lines of code.\n\nThis crate doesn't have any dependencies and has special optimizations applied, for example\ncalculating the bounding rectangle doesn't require cloning the points.\n\nThe following functions were copied from the `geo` crate:\n\n```\n- Polygon::contains(\u0026Point)\n- Point::euclidean_distance(\u0026Polygon)\n- Polygon::area()\n- Polygon::centroid()\n- Polygon::bounding_rect()\n```\n\nAs you can see, not anything that would justify 18 dependencies. The code was forked at\n`master#fc942fab47ca29cbc54597448b7af48d7cad109c` and is updated from time to time.\n\nThe license of both `geo` and `polylabel` is MIT, therefore this repository is also MIT\nlicensed. I do not want to violate any licensing restrictions, I just want to reduce\ndependencies. All code is licensed under the MIT license from Stefan Hügel and Corey Farwell.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffschutt%2Fpolylabel-mini","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffschutt%2Fpolylabel-mini","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffschutt%2Fpolylabel-mini/lists"}