Je développe un catalogue web immobilier et je veux géocoder chaque annonce en utilisant geokit gem. Ma question est quelle serait la meilleure disposition de base de données du point de performance si je veux effectuer une recherche par pays, ville du pays sélectionné, zone administrative ou station de métro la plus proche de la ville sélectionnée. Les pays, villes, zones administratives et stations de métro disponibles doivent être définis par l'administrateur du catalogue et doivent être validés par géocodage.Mise en page de base de données pour une application avec des fonctions de géocodage utilisant geokit
je suis venu avec une seule table:
create_table "geo_locations", :force => true do |t|
t.integer "geo_location_id" #parent geo location (ex. country is parent geo location of city
t.string "country", :null => false #necessary for any geo location
t.string "city", #not null for city geo location and it's children
t.string "administrative_area" #not null for administrative_area geo location and it's children
t.string "thoroughfare_name" #not null for metro station or street name geo location and it's children
t.string "premise_number" #house number
t.float "lng", :null => false
t.float "lat", :null => false
t.float "bound_sw_lat", :null => false
t.float "bound_sw_lng", :null => false
t.float "bound_ne_lat", :null => false
t.float "bound_ne_lng", :null => false
t.integer "mappable_id"
t.string "mappable_type"
t.string "type" #country, city, administrative area, metro station or address
end
géo localisation finale est l'adresse qu'il contient toutes les informations neccessary pour mettre le marqueur de l'annonce immobilière sur la carte. Mais je suis toujours coincé sur la fonctionnalité de recherche.
Toute aide serait grandement appréciée. .