{ "info": { "author": "Alexander Verbitsky", "author_email": "habibutsu@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Topic :: Utilities" ], "description": "python-geo\n==========\n\nSet of algorithms and structures related to geodesy.\n\nAPI\n---\n\ngeo.sphere\n~~~~~~~~~~~~\n\nFunctions onto sphere\n\ngeo.sphere.approximate_distance\n_________________________________\n\n.. code-block:: python\n\n def approximate_distance(point1, point2):\n\nApproximate calculation distance\n(expanding the trigonometric functions around the midpoint)\n\ngeo.sphere.haversine_distance\n_______________________________\n\n.. code-block:: python\n\n def _haversine_distance(point1, point2):\n\nCalculating haversine distance between two points (see https://en.wikipedia.org/wiki/Haversine_formula, https://www.math.ksu.edu/~dbski/writings/haversine.pdf)\n\nIs numerically better-conditioned for small distances\n\ngeo.sphere.distance\n_____________________\n\n.. code-block:: python\n\n def distance(point1, point2):\n\nCalculating great-circle distance (see https://en.wikipedia.org/wiki/Great-circle_distance)\n\ngeo.sphere.bearing\n__________________\n\n.. code-block:: python\n\n def bearing(point1, point2):\n\nCalculating initial bearing between two points\n(see http://www.movable-type.co.uk/scripts/latlong.html)\n\ngeo.sphere.final_bearing\n________________________\n\n.. code-block:: python\n\n def final_bearing(point1, point2):\n\nCalculating finatl bearing (initial bering + 180) between two points\n\ngeo.sphere.destination\n______________________\n\n.. code-block:: python\n\n def destination(point, distance, bearing):\n\nGiven a start point, initial bearing, and distance, this will\ncalculate the destina\u00adtion point and final bearing travelling\nalong a (shortest distance) great circle arc. (see http://www.movable-type.co.uk/scripts/latlong.htm)\n\ngeo.sphere.approximate_destination\n__________________________________\n\n.. code-block:: python\n\n def approximate_destination(point, distance, theta):\n\ngeo.sphere.from4326_to3857\n__________________________\n\n.. code-block:: python\n\n def from4326_to3857(point):\n\nReproject point from EPSG:4326 (https://epsg.io/4326) to EPSG:3857 (https://epsg.io/3857) (see http://wiki.openstreetmap.org/wiki/Mercator)\n\n Spherical Mercator:\n E = R*(\u03bb - \u03bbo)\n N = R*ln(tan(\u03c0/4+\u03c6/2))\n\ngeo.sphere.from3857_to4326\n__________________________\n\n.. code-block:: python\n\n def from4326_to3857(point):\n\nReproject point from EPSG:3857 (https://epsg.io/3857) to EPSG:4326 (https://epsg.io/4326) (see http://wiki.openstreetmap.org/wiki/Mercator)\n\n Reverse Spherical Mercator:\n \u03bb = E/R + \u03bbo\n \u03c6 = \u03c0/2 - 2*arctan(exp(-N/R))\n\ngeo.ellipsoid\n~~~~~~~~~~~~~\n\nFunctions onto ellipsoid\n\ngeo.ellipsoid.distance\n______________________\n\n.. code-block:: python\n\n def distance(point1, point2, ellipsoid=WGS84):\n\nCalculating distance with using vincenty's formula\n(see https://en.wikipedia.org/wiki/Vincenty's_formulae)\n\ngeo.ellipsoid.from4326_to3395\n_____________________________\n\n.. code-block:: python\n\n def from4326_to3395(point, ellipsoid=WGS84):\n\nReproject point from EPSG:4326 (https://epsg.io/4326) to EPSG:3395 (https://epsg.io/3395) (see https://en.wikipedia.org/wiki/Mercator_projection#Generalization_to_the_ellipsoid)\n\n Ellipsoidal Mercator:\n E = a*(\u03bb - \u03bbo)\n N = a*ln(tan(\u03c0/4+\u03c6/2)*((1-e*sin(\u03c6))/(1+e*sin(\u03c6)))**e/2)\n\ngeo.ellipsoid.from3395_to4326\n_____________________________\n\n.. code-block:: python\n\n def from3395_to4326(point, ellipsoid=WGS84):\n\nReproject point from EPSG:3395 (https://epsg.io/3395) to EPSG:4326 (https://epsg.io/4326) (see https://en.wikipedia.org/wiki/Mercator_projection#Generalization_to_the_ellipsoid)\n\n Reverse Ellipsoidal Mercator:\n \u03bb = E/a + \u03bbo\n \u03c6 = \u03c0/2 + 2*arctan(exp(-N/a)*((1-e*sin(\u03c6))/(1+e*sin(\u03c6))**e/2))", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gojuno/geo-py", "keywords": "geodesy,haversine distance,great circle distance,vincenty's formula", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "geo-py", "package_url": "https://pypi.org/project/geo-py/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/geo-py/", "project_urls": { "Homepage": "https://github.com/gojuno/geo-py" }, "release_url": "https://pypi.org/project/geo-py/0.4/", "requires_dist": null, "requires_python": null, "summary": "Set of algorithms and structures related to geodesy and geospatial data", "version": "0.4" }, "last_serial": 2832380, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "8184de236f1552fa025eb574fa67765d", "sha256": "4d6adb62f01839d9a115d6580c8c64d80b55b0436ee3037d017602a856479333" }, "downloads": -1, "filename": "geo-py-0.1.tar.gz", "has_sig": false, "md5_digest": "8184de236f1552fa025eb574fa67765d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57514, "upload_time": "2017-04-13T20:58:51", "url": "https://files.pythonhosted.org/packages/15/f5/0bc8207d32ed28bc89c837b264a8b7c41f0a340908739bae8136155b54bb/geo-py-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "84d882fc777a2cae3811677c9570a31d", "sha256": "60af2858ba0022150666daa4b23236a86d196b7399bf5ed261784d1c43d9ef1d" }, "downloads": -1, "filename": "geo-py-0.2.tar.gz", "has_sig": false, "md5_digest": "84d882fc777a2cae3811677c9570a31d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59302, "upload_time": "2017-04-13T21:28:17", "url": "https://files.pythonhosted.org/packages/db/9e/2cb118e2b8fe6d60c39db8d7fd573434546f99b3d00e1175498a979f09af/geo-py-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "a12341e8b5574e4decf7521aef137d06", "sha256": "21ec230ad86daa572fc1054fc5c7302cca3cac6fc1286059642db7f73025aee7" }, "downloads": -1, "filename": "geo-py-0.3.tar.gz", "has_sig": false, "md5_digest": "a12341e8b5574e4decf7521aef137d06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59330, "upload_time": "2017-04-13T21:33:51", "url": "https://files.pythonhosted.org/packages/b3/1b/2627959e4bd876719d40cdfa31b70ee6146f3654b9cebbcd11b13f8278c9/geo-py-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "d9bc76e5513ad372cf021c53f05d45a7", "sha256": "6ac02e08e24afc99795808f569f25b0075a0b2aa300b2ef3d40c061e02245c04" }, "downloads": -1, "filename": "geo-py-0.4.tar.gz", "has_sig": false, "md5_digest": "d9bc76e5513ad372cf021c53f05d45a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61320, "upload_time": "2017-04-26T17:44:34", "url": "https://files.pythonhosted.org/packages/ce/1f/5bdf66402875ef855ada02d12b52544a7905778ad0fe20453b8e3671e313/geo-py-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d9bc76e5513ad372cf021c53f05d45a7", "sha256": "6ac02e08e24afc99795808f569f25b0075a0b2aa300b2ef3d40c061e02245c04" }, "downloads": -1, "filename": "geo-py-0.4.tar.gz", "has_sig": false, "md5_digest": "d9bc76e5513ad372cf021c53f05d45a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61320, "upload_time": "2017-04-26T17:44:34", "url": "https://files.pythonhosted.org/packages/ce/1f/5bdf66402875ef855ada02d12b52544a7905778ad0fe20453b8e3671e313/geo-py-0.4.tar.gz" } ] }