{"id":32153734,"url":"https://github.com/juliaearth/drillholes.jl","last_synced_at":"2026-02-22T05:34:44.998Z","repository":{"id":44644056,"uuid":"311061468","full_name":"JuliaEarth/DrillHoles.jl","owner":"JuliaEarth","description":"Drill hole utilities for the GeoStats.jl framework","archived":false,"fork":false,"pushed_at":"2025-08-27T12:16:16.000Z","size":242,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-01T02:54:48.204Z","etag":null,"topics":["collar","compositing","drillholes","mining","survey"],"latest_commit_sha":null,"homepage":"https://github.com/JuliaEarth/GeoStats.jl","language":"Julia","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/JuliaEarth.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-11-08T12:48:48.000Z","updated_at":"2025-08-27T11:59:13.000Z","dependencies_parsed_at":"2023-02-14T10:45:35.553Z","dependency_job_id":"9975a185-08e5-41be-ae40-e4fcfeff7c16","html_url":"https://github.com/JuliaEarth/DrillHoles.jl","commit_stats":{"total_commits":131,"total_committers":3,"mean_commits":"43.666666666666664","dds":"0.22137404580152675","last_synced_commit":"c6e025f5c5beec7b97893d74ba60f7ab855ece4c"},"previous_names":[],"tags_count":66,"template":false,"template_full_name":null,"purl":"pkg:github/JuliaEarth/DrillHoles.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaEarth%2FDrillHoles.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaEarth%2FDrillHoles.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaEarth%2FDrillHoles.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaEarth%2FDrillHoles.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuliaEarth","download_url":"https://codeload.github.com/JuliaEarth/DrillHoles.jl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaEarth%2FDrillHoles.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280254704,"owners_count":26299313,"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","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["collar","compositing","drillholes","mining","survey"],"created_at":"2025-10-21T11:43:15.150Z","updated_at":"2025-10-21T11:43:20.552Z","avatar_url":"https://github.com/JuliaEarth.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DrillHoles.jl\n\n[![Build Status][build-img]][build-url] [![Coverage][codecov-img]][codecov-url]\n\nDesurvey and composite drill hole tables from the mining industry.\n\n## Installation\n\nGet the latest stable release with Julia's package manager:\n\n```\n] add DrillHoles\n```\n\n## Usage\n\nGiven a *collar table*, a *survey table* and at least one *interval\ntable* (such as assay and lithology), the function `desurvey` can\nbe used for desurveying and compositing. Examples of these tables\nare shown bellow:\n\n![tables](docs/example.png)\n\n- *Collar table*: stores the coordinates (X, Y, Z) of each drill\nhole with given ID (HOLEID).\n- *Survey table*: stores the arc length (AT) and azimuth (AZM) and\ndip (DIP) angles along the drill hole trajectory. Together with the\ncollar table it fully specifies the trajectory.\n- *Interval table*: stores the actual measurements taken on cylinders\nof rock defined by an interval of arc lenghts (FROM and TO). Usually,\nthere are multiple interval tables with different types of measurements.\n\nAssuming that each of these tables was loaded into a\n[Tables.jl](https://github.com/JuliaData/Tables.jl) table\n(e.g. CSV.File, DataFrame), we can use the following constructors\nto automatically detect the columns:\n\n```julia\nusing DrillHoles\nusing CSV\n\ncollar = Collar(CSV.File(\"collar.csv\"))\nsurvey = Survey(CSV.File(\"survey.csv\"))\nassay  = Interval(CSV.File(\"assay.csv\"))\nlitho  = Interval(CSV.File(\"litho.csv\"))\n```\n\nIf the columns of the tables follow an exotic naming convention,\nusers can manually specify the names with keyword arguments:\n\n```julia\n# manually specify column with hole ID\nCollar(CSV.File(\"collar.csv\"), holeid = \"MyHoleID\")\n```\n\nPlease check the documentation of `Collar`, `Survey` and `Interval`\nfor more details.\n\nBy default, the `desurvey` function returns a `GeoTable` compatible with\nthe [GeoStats.jl](https://github.com/JuliaEarth/GeoStats.jl) framework.\nIt supports different dip angle conventions from open pit and underground\nmining as well as different stepping methods:\n\n```julia\nsamples = desurvey(collar, survey, [assay, litho])\n```\n\nThe option `geom` can be used to control the output format, and the option\n`len` can be used for compositing. Please check the documentation for more\ndetails.\n\n[build-img]: https://img.shields.io/github/actions/workflow/status/JuliaEarth/DrillHoles.jl/CI.yml?branch=master\u0026style=flat-square\n[build-url]: https://github.com/JuliaEarth/DrillHoles.jl/actions\n\n[codecov-img]: https://codecov.io/gh/JuliaEarth/DrillHoles.jl/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/JuliaEarth/DrillHoles.jl\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliaearth%2Fdrillholes.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliaearth%2Fdrillholes.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliaearth%2Fdrillholes.jl/lists"}