
Security News
Potemkin Understanding in LLMs: New Study Reveals Flaws in AI Benchmarks
New research reveals that LLMs often fake understanding, passing benchmarks but failing to apply concepts or stay internally consistent.
.. image:: https://github.com/NOAA-ORR-ERD/lat_lon_parser/workflows/CI/badge.svg :target: https://github.com/NOAA-ORR-ERD/lat_lon_parser/actions?query=workflow%3ACI
.. image:: https://img.shields.io/pypi/v/lat-lon-parser.svg :target: https://pypi.org/project/lat-lon-parser/
.. image:: https://img.shields.io/pypi/pyversions/lat-lon-parser.svg :target: https://pypi.org/project/lat-lon-parser/
.. image:: https://img.shields.io/github/license/NOAA-ORR-ERD/lat_lon_parser :target: https://github.com/NOAA-ORR-ERD/lat_lon_parser/
############## lat_lon_parser ##############
Code for parsing lat-long coordinates in "various" formats, and for converting between lat-long formats (e.g. decimal degrees to degrees-minutes-seconds)
Note: perhaps it would be better to integrate this with a more full featured lib like:
https://pypi.python.org/pypi/LatLon23
But that one does not seem to support parsing unknown formats at this point -- and it's GPL, and perhaps a little more complex and structured than it needs to be.
from lat_lon_parser import parse
.. code-block::
In [12]: from lat_lon_parser import parse
In [13]: parse("45° 12.6' W")
Out[13]: -45.21
Decimal degrees (easy)::
23.43 -45.21
Decimal Degrees with quadrant::
23.43 N 45.21 W
Or with spelled out::
23.43 North 45.21 West
(note that all of the cardinal directions are not case-sensitive)
Degrees, decimal minutes: (now it starts getting tricky!)::
23° 25.800' -45° 12.600'
or::
23 25.800' -45 12.600'
or::
23° 25.8' N 45° 12.6' West
Degrees, Minutes, Seconds: (really fun!!!)::
23° 25' 48.0" -45° 12' 36.0"
or::
23d 25' 48.0" -45d 12' 36.0"
or::
23° 25' 48.0" North 45° 12' 36.0" S
or -- lots of other combinations!
For a more complete list, see the tests
This uses a pretty "stupid" algorithm -- it assumes that all formats will be something like:
[-][space] degrees [separator] minutes [separator] seconds [separator] [N[orth]|S[outh|E[ast]|W[est]]
But that actually is pretty darn robust!
If you have other formats you want to be able to parse, please contribute tests! -- And ideally a patch if the current code doesn't work.
Also included is code to convert to other formats used for latitude and longitude:
Functions for returning tuples of numbers::
to_dec_deg(23, 12, 3) 23.200833333333332 to_deg_min(34.1234) (34.0, 7.404) to_deg_min_sec(34.1234) (34.0, 7, 24.24)
Functions for converting to various string formats::
to_str_dec_deg(23, 12, 3) '23.200833°' to_str_deg_min(2.345) "2° 20.700'" to_str_deg_min_sec(-23.1234) '-23° 7' 24.24"'
to_str(23.45) '23.450000°' to_str(23, 45) "23° 45.000'" to_str(23, 45, 6.7) '23° 45' 6.70"'
Question from a user:
How to apply this lat_lon_parser on pandas dataframe specific column?
Turns out it's straightforward -- just pass the parse
function to apply::
In [20]: df = pandas.DataFrame({'coords':["12d13'N","32 5 14", "30.123W"]})
In [21]: df
Out[21]:
coords
0 12d13'N
1 32 5 14
2 30.123W
In [22]: df['coords'] = df['coords'].apply(parse)
In [23]: df
Out[23]:
coords
0 12.216667
1 32.087222
2 -30.123000
FAQs
Simple parser for latitude-longitude strings
We found that lat-lon-parser demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
New research reveals that LLMs often fake understanding, passing benchmarks but failing to apply concepts or stay internally consistent.
Security News
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.