fix issue 268

fix issue 265

git-svn-id: https://osmand.googlecode.com/svn/trunk@818 e29c36b1-1cfa-d876-8d93-3434fc2bb7b8
This commit is contained in:
Victor Shcherb 2010-12-14 14:47:29 +00:00
parent 613044189e
commit 7540e20564
7 changed files with 139 additions and 118 deletions

View file

@ -11,6 +11,8 @@ amenity_type_entertainment = Entertainment
amenity_type_finance = Finance amenity_type_finance = Finance
amenity_type_geocache = Geocache
amenity_type_healthcare = Healthcare amenity_type_healthcare = Healthcare
amenity_type_historic = Historic amenity_type_historic = Historic

View file

@ -1,39 +1,39 @@
amenity_type_administrative = Administrativa amenity_type_administrative = Administrativa
amenity_type_barrier = P\u0159ek\u00e1\u017eky amenity_type_barrier = P\u0159ek\u00E1\u017Eky
amenity_type_education = \u0160kolstv\u00ed amenity_type_education = \u0160kolstv\u00ED
amenity_type_emergency = Pomoc v nouzi amenity_type_emergency = Pomoc v nouzi
amenity_type_entertainment = Z\u00e1bava amenity_type_entertainment = Z\u00E1bava
amenity_type_finance = Finance amenity_type_finance = Finance
amenity_type_healthcare = Zdravotnictv\u00ed amenity_type_healthcare = Zdravotnictv\u00ED
amenity_type_historic = Historie amenity_type_historic = Historie
amenity_type_landuse = Vyu\u017eit\u00e9 \u00fazem\u00ed amenity_type_landuse = Vyu\u017Eit\u00E9 \u00FAzem\u00ED
amenity_type_leisure = Voln\u00fd \u010das amenity_type_leisure = Voln\u00FD \u010Das
amenity_type_manmade = Lidsk\u00e1 d\u00edla amenity_type_manmade = Lidsk\u00E1 d\u00EDla
amenity_type_military = Arm\u00e1da amenity_type_military = Arm\u00E1da
amenity_type_natural = P\u0159\u00edroda amenity_type_natural = P\u0159\u00EDroda
amenity_type_office = Kancel\u00e1\u0159e amenity_type_office = Kancel\u00E1\u0159e
amenity_type_other = Jin\u00e9 amenity_type_other = Jin\u00E9
amenity_type_shop = Obchod amenity_type_shop = Obchod
amenity_type_sport = Sport amenity_type_sport = Sport
amenity_type_sustenance = Stravov\u00e1n\u00ed amenity_type_sustenance = Stravov\u00E1n\u00ED
amenity_type_tourism = Turistika amenity_type_tourism = Turistika
@ -47,7 +47,7 @@ indexing_poi = Indexuji POI
indexing_transport = Indexuji dopravu indexing_transport = Indexuji dopravu
input_output_error = Do\u0161lo k chyb\u011b vstupu/v\u00fdstupu input_output_error = Do\u0161lo k chyb\u011B vstupu/v\u00FDstupu
km = km km = km
@ -55,22 +55,22 @@ km_h = km/h
m = m m = m
old_map_index_is_not_supported = Zastaral\u00fd form\u00e1t mapov\u00fdch dat ''{0}'' nen\u00ed podporov\u00e1n old_map_index_is_not_supported = Zastaral\u00FD form\u00E1t mapov\u00FDch dat ''{0}'' nen\u00ED podporov\u00E1n
poi_filter_car_aid = Autoservis poi_filter_car_aid = Autoservis
poi_filter_closest_poi = Nejbli\u017e\u0161\u00ed POI poi_filter_closest_poi = Nejbli\u017E\u0161\u00ED POI
poi_filter_custom_filter = Vlastn\u00ed filtr poi_filter_custom_filter = Vlastn\u00ED filtr
poi_filter_food_shop = Potraviny poi_filter_food_shop = Potraviny
poi_filter_for_tourists = Pro turisty poi_filter_for_tourists = Pro turisty
poi_filter_fuel = \u010cerpac\u00ed stanice poi_filter_fuel = \u010Cerpac\u00ED stanice
poi_filter_namefinder = Online NameFinder poi_filter_namefinder = Online NameFinder
reading_cached_tiles = Na\u010d\u00edt\u00e1m ulo\u017een\u00e9 dla\u017edice... reading_cached_tiles = Na\u010D\u00EDt\u00E1m ulo\u017Een\u00E9 dla\u017Edice...
version_index_is_not_supported = Verze indexu ''{0}'' nen\u00ed podporov\u00e1na version_index_is_not_supported = Verze indexu ''{0}'' nen\u00ED podporov\u00E1na

View file

@ -1,9 +1,9 @@
amenity_type_administrative = Administrative amenity_type_administrative = Administrative
amenity_type_barrier = Barri\u00e8re amenity_type_barrier = Barri\u00E8re
amenity_type_education = \u00c9ducation amenity_type_education = \u00C9ducation
amenity_type_emergency = Urgence amenity_type_emergency = Urgence
@ -11,7 +11,7 @@ amenity_type_entertainment = Divertissement
amenity_type_finance = Finance amenity_type_finance = Finance
amenity_type_healthcare = Sant\u00e9 amenity_type_healthcare = Sant\u00E9
amenity_type_historic = Historique amenity_type_historic = Historique
@ -47,7 +47,7 @@ indexing_poi = Indexation des PIs
indexing_transport = Indexation des Transport indexing_transport = Indexation des Transport
input_output_error = Erreur d'entr\u00e9e/sortie input_output_error = Erreur d'entr\u00E9e/sortie
km = km km = km
@ -55,15 +55,15 @@ km_h = km/h
m = m m = m
old_map_index_is_not_supported = Le format d\u00e9conseill\u00e9 de la carte ''{0}'' n'est pas support\u00e9 old_map_index_is_not_supported = Le format d\u00E9conseill\u00E9 de la carte ''{0}'' n'est pas support\u00E9
poi_filter_car_aid = Aide voiture poi_filter_car_aid = Aide voiture
poi_filter_closest_poi = PI le plus pr\u00e8s poi_filter_closest_poi = PI le plus pr\u00E8s
poi_filter_custom_filter = Filtre Personnalis\u00e9 poi_filter_custom_filter = Filtre Personnalis\u00E9
poi_filter_food_shop = \u00c9picerie poi_filter_food_shop = \u00C9picerie
poi_filter_for_tourists = Pour touristes poi_filter_for_tourists = Pour touristes
@ -73,4 +73,4 @@ poi_filter_namefinder = Recherche PI en-ligne
reading_cached_tiles = Lecture carreaux en cache... reading_cached_tiles = Lecture carreaux en cache...
version_index_is_not_supported = La version ''{0}'' de l'index n'est pas support\u00e9 version_index_is_not_supported = La version ''{0}'' de l'index n'est pas support\u00E9

View file

@ -1,20 +1,21 @@
amenity_type_administrative = Adminisztr\u00e1ci\u00f3
amenity_type_barrier = Hat\u00e1r amenity_type_administrative = Adminisztr\u00E1ci\u00F3
amenity_type_education = Oktat\u00e1s amenity_type_barrier = Hat\u00E1r
amenity_type_emergency = V\u00e9szhelyzet amenity_type_education = Oktat\u00E1s
amenity_type_entertainment = Sz\u00f3rakoztat\u00e1s amenity_type_emergency = V\u00E9szhelyzet
amenity_type_finance = P\u00e9nz\u00fcgy amenity_type_entertainment = Sz\u00F3rakoztat\u00E1s
amenity_type_healthcare = Eg\u00e9szs\u00e9g\u00fcgy amenity_type_finance = P\u00E9nz\u00FCgy
amenity_type_historic = T\u00f6rt\u00e9nelem amenity_type_healthcare = Eg\u00E9szs\u00E9g\u00FCgy
amenity_type_landuse = Ter\u00fclet amenity_type_historic = T\u00F6rt\u00E9nelem
amenity_type_landuse = Ter\u00FClet
amenity_type_leisure = Szabadid\u0151 amenity_type_leisure = Szabadid\u0151
@ -22,55 +23,54 @@ amenity_type_manmade = Ember alkotta
amenity_type_military = Katonai amenity_type_military = Katonai
amenity_type_natural = Term\u00e9szet amenity_type_natural = Term\u00E9szet
amenity_type_office = Iroda amenity_type_office = Iroda
amenity_type_other = Egy\u00e9b amenity_type_other = Egy\u00E9b
amenity_type_shop = \u00dczlet amenity_type_shop = \u00DCzlet
amenity_type_sport = Sport amenity_type_sport = Sport
amenity_type_sustenance = Ell\u00e1t\u00e1s amenity_type_sustenance = Ell\u00E1t\u00E1s
amenity_type_tourism = Turizmus amenity_type_tourism = Turizmus
amenity_type_transportation = K\u00f6zleked\u00e9si eszk\u00f6z amenity_type_transportation = K\u00F6zleked\u00E9si eszk\u00F6z
indexing_address = C\u00edmek indexel\u00e9se indexing_address = C\u00EDmek indexel\u00E9se
indexing_map = T\u00e9rk\u00e9p indexel\u00e9se indexing_map = T\u00E9rk\u00E9p indexel\u00E9se
indexing_poi = POI indexel\u00e9se indexing_poi = POI indexel\u00E9se
indexing_transport = K\u00f6zleked\u00e9si eszk\u00f6z indexel\u00e9se indexing_transport = K\u00F6zleked\u00E9si eszk\u00F6z indexel\u00E9se
input_output_error = Be-kimeneti hiba t\u00f6rt\u00e9nt input_output_error = Be-kimeneti hiba t\u00F6rt\u00E9nt
km = km km = km
km_h = km/\u00f3 km_h = km/\u00F3
m = m m = m
old_map_index_is_not_supported = Az elavult t\u00e9rk\u00e9p form\u00e1tum ''{0}'' nem t\u00e1mogatott old_map_index_is_not_supported = Az elavult t\u00E9rk\u00E9p form\u00E1tum ''{0}'' nem t\u00E1mogatott
poi_filter_car_aid = Aut\u00f3 seg\u00edts\u00e9g poi_filter_car_aid = Aut\u00F3 seg\u00EDts\u00E9g
poi_filter_closest_poi = K\u00f6zeli POI poi_filter_closest_poi = K\u00F6zeli POI
poi_filter_custom_filter = Egy\u00e9ni sz\u0171r\u0151 poi_filter_custom_filter = Egy\u00E9ni sz\u0171r\u0151
poi_filter_food_shop = \u00c9lelmiszer \u00fczlet poi_filter_food_shop = \u00C9lelmiszer \u00FCzlet
poi_filter_for_tourists = Turist\u00e1knak poi_filter_for_tourists = Turist\u00E1knak
poi_filter_fuel = \u00dczemanyag poi_filter_fuel = \u00DCzemanyag
poi_filter_namefinder = Online n\u00e9vkeres\u0151 poi_filter_namefinder = Online n\u00E9vkeres\u0151
reading_cached_tiles = Elmentett t\u00e9rk\u00e9pszeletek olvas\u00e1sa... reading_cached_tiles = Elmentett t\u00E9rk\u00E9pszeletek olvas\u00E1sa...
version_index_is_not_supported = ''{0}'' index verzi\u00f3ja nem t\u00e1mogatott
version_index_is_not_supported = ''{0}'' index verzi\u00F3ja nem t\u00E1mogatott

View file

@ -11,6 +11,8 @@ amenity_type_entertainment = \u0420\u0430\u0437\u0432\u043B\u0435\u0447\u0435\u0
amenity_type_finance = \u0424\u0438\u043D\u0430\u043D\u0441\u044B amenity_type_finance = \u0424\u0438\u043D\u0430\u043D\u0441\u044B
amenity_type_geocache = \u0413\u0435\u043E\u0442\u0430\u0439\u043D\u0438\u043A
amenity_type_healthcare = \u0417\u0434\u043E\u0440\u043E\u0432\u044C\u0435 amenity_type_healthcare = \u0417\u0434\u043E\u0440\u043E\u0432\u044C\u0435
amenity_type_historic = \u0418\u0441\u0442\u043E\u0440\u0438\u0447\u0435\u0441\u043A\u043E\u0435 amenity_type_historic = \u0418\u0441\u0442\u043E\u0440\u0438\u0447\u0435\u0441\u043A\u043E\u0435

View file

@ -31,6 +31,7 @@ public enum AmenityType {
EMERGENCY("amenity_type_emergency", "emergency"), // [TAG] emergency //$NON-NLS-1$ //$NON-NLS-2$ EMERGENCY("amenity_type_emergency", "emergency"), // [TAG] emergency //$NON-NLS-1$ //$NON-NLS-2$
MILITARY("amenity_type_military", "military"), // [TAG] military //$NON-NLS-1$ //$NON-NLS-2$ MILITARY("amenity_type_military", "military"), // [TAG] military //$NON-NLS-1$ //$NON-NLS-2$
ADMINISTRATIVE("amenity_type_administrative", "administrative"), // [TAG] administrative //$NON-NLS-1$ //$NON-NLS-2$ ADMINISTRATIVE("amenity_type_administrative", "administrative"), // [TAG] administrative //$NON-NLS-1$ //$NON-NLS-2$
GEOCACHE("amenity_type_geocache", "geocache"),
OTHER("amenity_type_other", "amenity"), // grave-yard, police, post-office [+Internet_access] //$NON-NLS-1$ //$NON-NLS-2$ OTHER("amenity_type_other", "amenity"), // grave-yard, police, post-office [+Internet_access] //$NON-NLS-1$ //$NON-NLS-2$
; ;

View file

@ -44,6 +44,7 @@ import net.osmand.data.City.CityType;
import net.osmand.data.index.DataIndexReader; import net.osmand.data.index.DataIndexReader;
import net.osmand.data.index.DataIndexWriter; import net.osmand.data.index.DataIndexWriter;
import net.osmand.data.index.IndexConstants; import net.osmand.data.index.IndexConstants;
import net.osmand.impl.ConsoleProgressImplementation;
import net.osmand.osm.Entity; import net.osmand.osm.Entity;
import net.osmand.osm.LatLon; import net.osmand.osm.LatLon;
import net.osmand.osm.MapRenderingTypes; import net.osmand.osm.MapRenderingTypes;
@ -154,7 +155,7 @@ public class IndexCreator {
private RTree transportStopsTree; private RTree transportStopsTree;
private RTree[] mapTree = null; private RTree[] mapTree = null;
private MapZooms mapZooms = null; private MapZooms mapZooms = MapZooms.getDefault();
private MapRenderingTypes renderingTypes = MapRenderingTypes.getDefault(); private MapRenderingTypes renderingTypes = MapRenderingTypes.getDefault();
@ -1267,10 +1268,12 @@ public class IndexCreator {
loadEntityData(e, true); loadEntityData(e, true);
Map<Entity, String> entities = ((Relation) e).getMemberEntities(); Map<Entity, String> entities = ((Relation) e).getMemberEntities();
boolean outerFound = false;
for (Entity es : entities.keySet()) { for (Entity es : entities.keySet()) {
if (es instanceof Way) { if (es instanceof Way) {
boolean inner = "inner".equals(entities.get(es)); //$NON-NLS-1$ boolean inner = "inner".equals(entities.get(es)); //$NON-NLS-1$
if (!inner) { if (!inner) {
outerFound = true;
for (String t : es.getTagKeySet()) { for (String t : es.getTagKeySet()) {
e.putTag(t, es.getTag(t)); e.putTag(t, es.getTag(t));
} }
@ -1278,6 +1281,10 @@ public class IndexCreator {
} }
} }
} }
if(!outerFound){
log.warn("Probably map bug: Multipoligon id=" + e.getId() + " contains only inner ways : "); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
int mtType = findMultiPolygonType(e, 0); int mtType = findMultiPolygonType(e, 0);
if (mtType != 0) { if (mtType != 0) {
@ -2276,6 +2283,10 @@ public class IndexCreator {
return mapFile.getAbsolutePath() + ".prtree"; //$NON-NLS-1$ return mapFile.getAbsolutePath() + ".prtree"; //$NON-NLS-1$
} }
public void generateIndexes(File readFile, IProgress progress, IOsmStorageFilter addFilter) throws IOException, SAXException, SQLException{
generateIndexes(readFile, progress, addFilter, null, null);
}
public void generateIndexes(File readFile, IProgress progress, IOsmStorageFilter addFilter, MapZooms mapZooms, MapRenderingTypes renderingTypes) public void generateIndexes(File readFile, IProgress progress, IOsmStorageFilter addFilter, MapZooms mapZooms, MapRenderingTypes renderingTypes)
throws IOException, SAXException, throws IOException, SAXException,
SQLException { SQLException {
@ -2283,7 +2294,11 @@ public class IndexCreator {
this.renderingTypes = renderingTypes; this.renderingTypes = renderingTypes;
} }
this.mapZooms = mapZooms; if(mapZooms != null){
this.mapZooms = mapZooms;
} else {
mapZooms = this.mapZooms;
}
multiPolygonsWays = new Map[mapZooms.size()]; multiPolygonsWays = new Map[mapZooms.size()];
for (int i = 0; i < multiPolygonsWays.length; i++) { for (int i = 0; i < multiPolygonsWays.length; i++) {
multiPolygonsWays[i] = new LinkedHashMap<Long, Set<Integer>>(); multiPolygonsWays[i] = new LinkedHashMap<Long, Set<Integer>>();
@ -2854,6 +2869,7 @@ public class IndexCreator {
// creator.generateIndexes(new File("e:/Information/OSM maps/osm_map/new_zealand.osm.bz2"), new ConsoleProgressImplementation(3), null); // creator.generateIndexes(new File("e:/Information/OSM maps/osm_map/new_zealand.osm.bz2"), new ConsoleProgressImplementation(3), null);
// creator.generateIndexes(new File("e:/Information/OSM maps/osm_map/map.osm"), new ConsoleProgressImplementation(15), null); // creator.generateIndexes(new File("e:/Information/OSM maps/osm_map/map.osm"), new ConsoleProgressImplementation(15), null);
creator.generateIndexes(new File("e:/Information/OSM maps/osm_map/bayarea.osm"), new ConsoleProgressImplementation(15), null);
System.out.println("WHOLE GENERATION TIME : " + (System.currentTimeMillis() - time)); //$NON-NLS-1$ System.out.println("WHOLE GENERATION TIME : " + (System.currentTimeMillis() - time)); //$NON-NLS-1$
System.out.println("COORDINATES_SIZE " + BinaryMapIndexWriter.COORDINATES_SIZE + " count " + BinaryMapIndexWriter.COORDINATES_COUNT); //$NON-NLS-1$ //$NON-NLS-2$ System.out.println("COORDINATES_SIZE " + BinaryMapIndexWriter.COORDINATES_SIZE + " count " + BinaryMapIndexWriter.COORDINATES_COUNT); //$NON-NLS-1$ //$NON-NLS-2$