Is there an (offline) Geocoding framework, library or database for iOS? A place to get the data from?
I need to be able to geocode street addresses in cities worldwide (or at least in the United States) into latitude and longitude for sunrise and sunset calculations.
The information must be in a format that will work on iPhone OS. (Either a database file or written in C/Objective-C)
What I would recommend :
[EDIT] As an example, you can download data from http://www.openstreetmap.org , just click on the export tab, choose the Open Street Map XML Data format, and then export data: you'll get the OSM data for the chosen bounding box. Some more data can be downloaded from cloudmade : http://downloads.cloudmade.com/
[EDIT] Spatialite provides a GUI tool to create a spatial database from various data source formats. The tool can be downloaded as binary from here : http://www.gaia-gis.it/spatialite-2.4.0-4/binaries.html (spatialite_gui) I'm linking to the 2.4.0 beta because that's the one that best supports .osm files.
Another good ressource is QGis to visualiaze OSM data / create spatialite DB. It's free / open source and very mature: http://www.qgis.org/
These are the very rough lines. I can go in much more deeper details if you're interested in such approach : I've achieved this on my side. I know how to compile spatialite for iOS (this took me some time....) and also how to import OSM data and create spatial indexes for it.