The vCard 3.0 format offers GEO fields for coordinate locations. Here is a script to convert those to a CSV file (name,latitude,longitude).
The following GEO formats should work:
GEO:40.255;-60.155
GEO:+40.255;-60.155
GEO:geo:40.255;-60.155
GEO;TYPE=work:geo:40.255,-60.155
If it exists, the TYPE value is appended to the name field; also, if the phrase gps-uncertain is found in the NOTES field, a space and a question-mark (?) are appended to the name field.
For Navit, use the CSV to Navit Converter script which will convert CSV to Navit’s bookmark.txt format.
Requires python-vobject
The script: vcard-to-geocsv.py