GeocoderPL
GeocoderPL is an application written in Python, which can be used for geocoding address points in Poland along with the possibility to display basic information about a given address point and the building assigned to this address. GeocoderPL has a form of search engine with three map layers: OpenStreetMap, Google Maps and Stamens Map.
GeocoderPL creates SQL database containing all address points and buildings in Poland by parsing files in Geography Markup Language format to SQL tables. The main data sources of GeocoderPL are following: The National Register of Boundaries Database (a.k.a. PRG database)- state maintained reference database of all address points in Poland (including administrative division of the country):
The Topographic Objects Database (a.k.a. BDOT10k database) - state maintained vector database which contains the spatial location of all topographic features in Poland:
The SQL database created in this way can easily cooperate with GeocoderPL search engine - when the user type name of the city, street or postal code, query to SQL database is sent.
Geographic coordinates of every address point from the PRG database are cross-validated by checking that they lie inside the polygon of their district. For every address point in PRG database the closest building in the BDOT10k database is found and if the distance between polygon of this building and address point is less than 10 meters then the building is assigned to adress point.
Geocoding using GeocoderPL search engine requires providing city name, street, building number or postal code of the address point for which we would like to find geographic coordinates. It is also possible to perform reverse geocoding - if you pass geographic coordinates to search engine then you will receive address point closest to these coordinates.
GeocoderPL can be also used for finding address point by providing name of public institution, church or shop - for part of builings such information is avaible in BDOT10k database, so they are also present in GeocoderPL search engine. GeocoderPL search engine does not utilize any external search engines - it relies only on data gather in SQL database fed with Polish government data and on three map layers: OpenStreetMap, Google Maps and Stamen’s Map (visualisation purpose only).
- db_classes.py
- xml_parsers.py
- super_permutations.py
- geo_utilities.py
calc_pnt_dist()
clear_xml_node()
convert_coords()
create_coords_transform()
create_logger()
csv_to_dict()
fill_regs_tables()
gen_fin_bubds_ids()
get_bdot10k_id()
get_corr_reg_name()
get_osm_coords()
get_region_shapes()
get_sector_codes()
get_sectors_params()
get_super_permut_dict()
points_in_shape()
points_inside_polygon()
reduce_coordinates_precision()
time_decorator()
- geo_gui.py