{ "info": { "author": "Kyle Wilcox", "author_email": "kyle@axiomdatascience.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Scientific/Engineering" ], "description": "# pygc [![Build Status](https://travis-ci.org/axiom-data-science/pygc.svg?branch=master)](https://travis-ci.org/axiom-data-science/pygc)\n\n#### Great Circle calculations for Python 2/3 using Vincenty's formulae\n\n## Installation\n\n**pip**\n`pip install pygc`\n\n**conda**\n`conda install -c conda-forge pygc`\n\n**development**\n`pip install git+https://github.com/axiom-data-science/pygc.git`\n\n\n### Great Circle\n```python\nfrom pygc import great_circle\n```\n\n##### New point from initial point, distance, and azimuth\n```python\ngreat_circle(distance=111000, azimuth=65, latitude=30, longitude=-74)\n{'latitude': 30.41900364921926,\n'longitude': -72.952930949727573,\n'reverse_azimuth': 245.52686122611451}\n```\n\n##### Three new points in three different angles from an initial point\n```python\ngreat_circle(distance=[100000, 200000, 300000], azimuth=[90, 180, -90], latitude=30, longitude=-74)\n{'latitude': array([29.99592067, 28.1955554, 29.96329797]),\n'longitude': array([-72.96361148, -74., -77.10848799]),\n'reverse_azimuth': array([270.51817296, 360., 88.44633085])}\n```\n\n##### Three point south of three initial points (longitude shouldn't change much)\n```python\ngreat_circle(distance=[100000, 200000, 300000], azimuth=180, latitude=30, longitude=[-74, -75, -76])\n{'latitude': array([29.09783841, 28.1955554, 27.29315337]),\n'longitude': array([-74., -75., -76.]),\n'reverse_azimuth': array([360., 360., 360.])}\n```\n\n##### Three point west of three initial points (latitude shouldn't change much)\n```python\ngreat_circle(distance=[100000, 200000, 300000], azimuth=270, latitude=[30, 31, 32], longitude=-74)\n{'latitude': array([ 29.99592067, 30.98302388, 31.96029484]),\n 'longitude': array([-75.03638852, -76.09390011, -77.17392199]),\n 'reverse_azimuth': array([ 89.48182704, 88.92173899, 88.31869938])}\n```\n\n\n##### Starburst pattern around a point\n```python\ngreat_circle(distance=100000, azimuth=[0, 60, 120, 180, 240, 300], latitude=30, longitude=-74)\n{'latitude': array([ 30.90203788, 30.44794729, 29.54590235, 29.09783841, 29.54590235, 30.44794729]),\n 'longitude': array([-74., -73.09835956, -73.10647702, -74., -74.89352298, -74.90164044]),\n 'reverse_azimuth': array([ 180., 240.45387965, 300.44370186, 360., 59.55629814, 119.54612035])}\n```\n\n\n### Great Distance\n\nDistance between each pair of points is returned in meters.\n\n```python\nfrom pygc import great_distance\n```\n\n##### Distance and angle between two points\n```python\ngreat_distance(start_latitude=30, start_longitude=-74, end_latitude=40, end_longitude=-74)\n{'azimuth': 0.0, 'distance': array(1109415.6324018822), 'reverse_azimuth': 180.0}\n```\n\n##### Distance and angle between two sets of points\n```python\ngreat_distance(start_latitude=[30, 35], start_longitude=[-74, -79], end_latitude=[40, 45], end_longitude=[-74, -79])\n{'azimuth': array([0., 0.]),\n 'distance': array([1109415.63240188, 1110351.47627673]),\n 'reverse_azimuth': array([180., 180.])}\n```\n\n##### Distance and angle between initial point and three end points\n```python\ngreat_distance(start_latitude=30, start_longitude=-74, end_latitude=[40, 45, 50], end_longitude=[-74, -74, -74])\n{'azimuth': array([0., 0., 0.]),\n 'distance': array([1109415.63240188, 1664830.98002662, 2220733.64373152]),\n 'reverse_azimuth': array([180., 180., 180.])}\n```\n\n\n## Source\n\nAlgrothims from Geocentric Datum of Australia Technical Manual\n\nhttp://www.anzlic.org.au/icsm/gdatum/chapter4.html (Page is no longer\navailable)\n\nComputations on the Ellipsoid\n\nThere are a number of formulae that are available\nto calculate accurate geodetic positions,\nazimuths and distances on the ellipsoid.\n\nVincenty's formulae (Vincenty, 1975) may be used\nfor lines ranging from a few cm to nearly 20,000 km,\nwith millimetre accuracy.\nThe formulae have been extensively tested\nfor the Australian region, by comparison with results\nfrom other formulae (Rainsford, 1955 & Sodano, 1965).\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/axiom-data-science/pygc", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pygc", "package_url": "https://pypi.org/project/pygc/", "platform": "", "project_url": "https://pypi.org/project/pygc/", "project_urls": { "Homepage": "https://github.com/axiom-data-science/pygc" }, "release_url": "https://pypi.org/project/pygc/1.1.0/", "requires_dist": null, "requires_python": "", "summary": "Great Circle calculations in Python using Vincenty's formulae", "version": "1.1.0" }, "last_serial": 2572924, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b17c494085e0aa9f31c7cc88329eedef", "sha256": "61e9accb90155c6aafcc25c2457a704622aa461bae97d3f37e60bfc1a58a6b5f" }, "downloads": -1, "filename": "pygc-0.1.tar.gz", "has_sig": false, "md5_digest": "b17c494085e0aa9f31c7cc88329eedef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5573, "upload_time": "2015-01-06T15:34:23", "url": "https://files.pythonhosted.org/packages/f9/c9/b5414912ca4b48c099631974ecd1a4a509ed7510b2234078027a4aed3d61/pygc-0.1.tar.gz" } ], "0.1.dev": [ { "comment_text": "", "digests": { "md5": "b9bf5a2abc4cb39dda29a41901576aa4", "sha256": "313be81da7229fdcee7227d462ec9081a1432abb7cb183fc6b594d7d62ecad6d" }, "downloads": -1, "filename": "pygc-0.1.dev.tar.gz", "has_sig": false, "md5_digest": "b9bf5a2abc4cb39dda29a41901576aa4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5258, "upload_time": "2014-10-20T13:55:27", "url": "https://files.pythonhosted.org/packages/82/23/c6a31b69e30d24ffe576851d7b3db26db6b6cbc2e1f8b643da36ca106149/pygc-0.1.dev.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "76d35e92a60086ef76d37178ae92fda1", "sha256": "9104d445fe979cb62665153a0210625eb81e558ce5f2238fc7e0bda6e260f67c" }, "downloads": -1, "filename": "pygc-0.2.tar.gz", "has_sig": false, "md5_digest": "76d35e92a60086ef76d37178ae92fda1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5623, "upload_time": "2015-01-12T22:10:52", "url": "https://files.pythonhosted.org/packages/5d/69/747600c1726cbd8e4684c78ab69e536f36fad990b10ba749c99aa0cd3547/pygc-0.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "1f7614f59930d26b4f046e877f0a9561", "sha256": "3d024fbcbb344f3d15b864188bb6dc8ea4f71701bdad0a7b8e63355331c8299e" }, "downloads": -1, "filename": "pygc-1.0.0.tar.gz", "has_sig": false, "md5_digest": "1f7614f59930d26b4f046e877f0a9561", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6467, "upload_time": "2016-09-15T13:33:38", "url": "https://files.pythonhosted.org/packages/51/1a/de24e98e2872a07ed6241ffbe51284d12a1a12e99f5e5476ff2319a8f30d/pygc-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "5e733ddd390b8d06ae630cc106591c92", "sha256": "5a1f22a175b897289a68f112bc0ebd98c60e6af8fcb1bf794192fd33a67cccd3" }, "downloads": -1, "filename": "pygc-1.1.0.tar.gz", "has_sig": false, "md5_digest": "5e733ddd390b8d06ae630cc106591c92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19878, "upload_time": "2017-01-13T21:19:50", "url": "https://files.pythonhosted.org/packages/cd/5b/eaad8bb18dae8f2c9ec76f7ff5fc75749a925e0c5d821f14ea71236f5518/pygc-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5e733ddd390b8d06ae630cc106591c92", "sha256": "5a1f22a175b897289a68f112bc0ebd98c60e6af8fcb1bf794192fd33a67cccd3" }, "downloads": -1, "filename": "pygc-1.1.0.tar.gz", "has_sig": false, "md5_digest": "5e733ddd390b8d06ae630cc106591c92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19878, "upload_time": "2017-01-13T21:19:50", "url": "https://files.pythonhosted.org/packages/cd/5b/eaad8bb18dae8f2c9ec76f7ff5fc75749a925e0c5d821f14ea71236f5518/pygc-1.1.0.tar.gz" } ] }