{"id":15296133,"url":"https://github.com/xoolive/geodesy","last_synced_at":"2025-04-13T19:35:32.719Z","repository":{"id":26972201,"uuid":"30435725","full_name":"xoolive/geodesy","owner":"xoolive","description":"A pragmatic and efficient geodesy toolkit","archived":false,"fork":false,"pushed_at":"2018-05-20T21:59:09.000Z","size":58,"stargazers_count":8,"open_issues_count":1,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-27T10:13:45.011Z","etag":null,"topics":["c-plus-plus","geodesy","geometry","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/xoolive.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-06T22:21:59.000Z","updated_at":"2025-01-03T19:50:28.000Z","dependencies_parsed_at":"2022-08-28T03:01:51.000Z","dependency_job_id":null,"html_url":"https://github.com/xoolive/geodesy","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fgeodesy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fgeodesy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fgeodesy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fgeodesy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xoolive","download_url":"https://codeload.github.com/xoolive/geodesy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248487686,"owners_count":21112191,"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":["c-plus-plus","geodesy","geometry","python"],"created_at":"2024-09-30T18:09:30.803Z","updated_at":"2025-04-13T19:35:32.669Z","avatar_url":"https://github.com/xoolive.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"A pragmatic and efficient geodesy toolkit\n=========================================\n\nThe current project exposes interfaces in different languages to a pragmatic and efficient geodesy toolkit. Both spherical and WGS84 models are supported, though there are more functions implemented for the spherical model.\n\n# C++\n\nThe source code is common to all languages and implemented with C++ templates for simple and double precision floating point values. When possible, SSE2 vectorisation is provided. (AVX expected) Interfaces are then provided for Python (through cython) and for OCaml.\n\nThe `src` folder contains the C++ implementation. Simply include resp. `spherical_geodesy.h` or `wgs84_geodesy.h` according to your needs. `*.cpp` files are just provided for aesthetical reasons, if you want to compile the library in advance.\n\n# Python\n\nThe `geodesy` folder contains the Python interface and exposes both `geodesy.sphere` and `geodesy.wgs84` modules. You can install the module with the `setup.py` file provided. `numpy` is necessary to compile the library.\n\nRecommended installation procedure:\n- `virtualenv` (optional, but a good idea nonetheless):\n```\n virtualenv geo_test\n source geo_test/bin/activate\n```\n- installation:\n```\n pip install cython numpy\n pip install git+git://github.com/xolive/geodesy.git\n```\nYou can then read the manual embedded in `geodesy.sphere` and `geodesy.wgs84`\n\n# OCaml\n\nThe `ocaml` folder contains the OCaml interface. Refer to `geodesy.mli` for the interface.\n\nRecommended installation procedure using `ocamlfind` and `opam` (from version 1.2), provided your `PATH` yields access to `cmake`:\n```\n opam pin add geodesy git://github.com/xoolive/geodesy.git\n```\nYou can then compile your OCaml source file with `ocamlfind`, e.g.:\n```\n ocamlfind ocamlc -linkpkg -package oUnit,geodesy tests/test_geodesy.ml\n```\n\nThe `CMakeLists.txt` also offers a decent installation procedure provided you want to embed the library in bigger projects. You will need to clone the [ocaml-cmake](https://github.com/ocaml-cmake/ocaml-cmake) project first and set the `CMAKE_MODULE_PATH` accordingly.\n\nYou can also use the `make install` target for a project installation that you may later import in a different project. (`find_package (geodesy REQUIRED)` in your new `CMakeLists.txt`)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxoolive%2Fgeodesy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxoolive%2Fgeodesy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxoolive%2Fgeodesy/lists"}