[PATCH v1] - Do not write unnecessary POI information

The attached patch will prevent writing the additional POI information (address, phone number) if - it won't be shown (POIs with IDs 0x64xx to 0x66xx won't have their information shown) - there is no street given for that POI This reduces the size of the map by about 5% for my map (with a lot of POIs actually generated in the range 0x64xx to 0x66xx). It may be questionable to write no address information if there is no street given. IMHO though, what I want to have from that additional information is the street address. I can see on the map in which city and region the POI is in and in most cases I can also see the distance to my current location. So if I don't have at least a street name the information about the city and region alone (which is most likely autogenerated and therefore error-prone anyway) doesn't help. For my maps the additional size reduction of this is less than 1 % (which I don't understand BTW, should be more). I'm not sure about the ID range 0x64xx to 0x66xx - has anybody tested this and knows whether there are additional IDs that won't have their information shown? Regards Thilo

On 18.04.2010 10:46, Thilo Hannemann wrote:
The attached patch will prevent writing the additional POI information (address, phone number) if - it won't be shown (POIs with IDs 0x64xx to 0x66xx won't have their information shown) - there is no street given for that POI
This reduces the size of the map by about 5% for my map (with a lot of POIs actually generated in the range 0x64xx to 0x66xx).
It may be questionable to write no address information if there is no street given. IMHO though, what I want to have from that additional information is the street address. I can see on the map in which city and region the POI is in and in most cases I can also see the distance to my current location. So if I don't have at least a street name the information about the city and region alone (which is most likely autogenerated and therefore error-prone anyway) doesn't help. For my maps the additional size reduction of this is less than 1 % (which I don't understand BTW, should be more).
I'm not sure about the ID range 0x64xx to 0x66xx - has anybody tested this and knows whether there are additional IDs that won't have their information shown?
Regards Thilo Actually it is much more. 0x4100 and bigger show no contact Information (this of course also includes all 0x1???? ) - Or has someone found any POI above 0x4099 show any kind of contact information???? We would also need to exclude all cities (0x0*) to 0x1199 do not show any contact information (I'm not sure whether 0x13?? to ox1f?? do show contact information - as I never used any POI inside this range). I don't know how to adapt your patch to ONLY put contact information for 0x1300 - 0x4099 - but that is what we essentially need (maybe it is even 0x2000 - 0x4099). Plus we need to exclude 0x0???? (e.g. 0x01709)
As a second patch I think we would really need an option to switch of the "fix my address" nonsense. It only takes up space. So either replace that text by a simple dot "." or get rid of adding contact info alltogether if there is no address/or other info we want to put once we have several keys that are added!
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Am 18.04.2010 um 19:15 schrieb Felix Hartmann:
On 18.04.2010 10:46, Thilo Hannemann wrote:
I'm not sure about the ID range 0x64xx to 0x66xx - has anybody tested this and knows whether there are additional IDs that won't have their information shown?
Regards Thilo Actually it is much more. 0x4100 and bigger show no contact Information (this of course also includes all 0x1???? ) - Or has someone found any POI above 0x4099 show any kind of contact information????
I've changed it so that now there is no contact information for 0x1Cxx and for everything starting from 0x4100. I've found "somewhere on the internet" that POIs with 0x1Cxx don't have their contact information shown.
We would also need to exclude all cities (0x0*) to 0x1199 do not show any contact information (I'm not sure whether 0x13?? to ox1f?? do show contact information - as I never used any POI inside this range). I don't know how to adapt your patch to ONLY put contact information for 0x1300 - 0x4099 - but that is what we essentially need (maybe it is even 0x2000 - 0x4099). Plus we need to exclude 0x0???? (e.g. 0x01709)
Cities are already excluded. They are handled separately and don't get any contact information.
As a second patch I think we would really need an option to switch of the "fix my address" nonsense. It only takes up space. So either replace that text by a simple dot "." or get rid of adding contact info alltogether if there is no address/or other info we want to put once we have several keys that are added!
My patch gets rid of it, because it will only create the contact information if a street is given. That part of the code won't be executed anymore, so I removed it in v2. Regards Thilo

On 18.04.2010 20:42, Thilo Hannemann wrote:
Am 18.04.2010 um 19:15 schrieb Felix Hartmann:
On 18.04.2010 10:46, Thilo Hannemann wrote:
I'm not sure about the ID range 0x64xx to 0x66xx - has anybody tested this and knows whether there are additional IDs that won't have their information shown?
Regards Thilo
Actually it is much more. 0x4100 and bigger show no contact Information (this of course also includes all 0x1???? ) - Or has someone found any POI above 0x4099 show any kind of contact information????
I've changed it so that now there is no contact information for 0x1Cxx and for everything starting from 0x4100. I've found "somewhere on the internet" that POIs with 0x1Cxx don't have their contact information shown.
We would also need to exclude all cities (0x0*) to 0x1199 do not show any contact information (I'm not sure whether 0x13?? to ox1f?? do show contact information - as I never used any POI inside this range). I don't know how to adapt your patch to ONLY put contact information for 0x1300 - 0x4099 - but that is what we essentially need (maybe it is even 0x2000 - 0x4099). Plus we need to exclude 0x0???? (e.g. 0x01709)
Cities are already excluded. They are handled separately and don't get any contact information.
As a second patch I think we would really need an option to switch of the "fix my address" nonsense. It only takes up space. So either replace that text by a simple dot "." or get rid of adding contact info alltogether if there is no address/or other info we want to put once we have several keys that are added!
My patch gets rid of it, because it will only create the contact information if a street is given. That part of the code won't be executed anymore, so I removed it in v2.
Well I figured out the first part mysel by using: else if(!p.isCity() && !p.hasExtendedType() && (p.isRoadNamePOI() || poiAddresses) && ((p.getType() < 0x4100)) && ((p.getType() >= 0x2000))) { because I think there are no sensible POI to be put besides cities on <0x2000. Your addition dit it, and removed the fix_my_adress, however now there appears the "name" instead or the name of the POI type from the typfile. Is this just the standard behaviour, or is now the name really included? I'm kinda wondering, cause the whole patch only reduces the size of my map (tested on Austria) by 0.5% - well better than nothing but I had hoped for more. I would like to have this patch included into trunk, cause .5% is better than nothing, but after your talking about 5% I had hoped for more (the main difference is IMHO that I allways used extended types extensively - so this patch has not much to do (I use very few POI in the >4x range)
Regards Thilo

When looking at the code I'm not so sure anymore that this patch does what I expect it to do. So please do *not* include it into trunk. I'll think about it and will come up with another one. Regards Thilo

Felix Hartmann wrote:
Your addition dit it, and removed the fix_my_adress, however now there appears the "name" instead or the name of the POI type from the typfile. Is this just the standard behaviour, or is now the name really included?
I'm kinda wondering, cause the whole patch only reduces the size of my map (tested on Austria) by 0.5% - well better than nothing but I had hoped for more. I would like to have this patch included into trunk, cause .5% is better than nothing, but after your talking about 5% I had hoped for more (the main difference is IMHO that I allways used extended types extensively - so this patch has not much to do (I use very few POI in the >4x range) Perhaps all the "Fix my address"-infos were summarized to one string that is now not shown? OK, then the difference should be even more smaller ...
Dani

Felix Hartmann wrote:
As a second patch I think we would really need an option to switch of the "fix my address" nonsense. It only takes up space. So either replace that text by a simple dot "." or get rid of adding contact info alltogether if there is no address/or other info we want to put once we have several keys that are added! I thought that is was just added to remind mappers to add the missing information. But from the user's point of view just information that is in the database should be displayed and if there is no information there is no need to display that there is no further information.
So I would suggest to add the info if it is supplied and else do nothing. Dani

On 18/04/2010 09:46, Thilo Hannemann wrote:
The attached patch will prevent writing the additional POI information (address, phone number) if - it won't be shown (POIs with IDs 0x64xx to 0x66xx won't have their information shown) - there is no street given for that POI
This reduces the size of the map by about 5% for my map (with a lot of POIs actually generated in the range 0x64xx to 0x66xx).
It may be questionable to write no address information if there is no street given. IMHO though, what I want to have from that additional information is the street address. I can see on the map in which city and region the POI is in and in most cases I can also see the distance to my current location. So if I don't have at least a street name the information about the city and region alone (which is most likely autogenerated and therefore error-prone anyway) doesn't help. For my maps the additional size reduction of this is less than 1 % (which I don't understand BTW, should be more).
I'm not sure about the ID range 0x64xx to 0x66xx - has anybody tested this and knows whether there are additional IDs that won't have their information shown?
My tests suggest that only POIs in the range 0x2A00 to 0x32FF can carry address information.

Am 19.04.2010 um 22:32 schrieb Charlie Ferrero:
My tests suggest that only POIs in the range 0x2A00 to 0x32FF can carry address information.
Hi Charlie, could you elaborate on that? What tests did you do and with what kind of GPS/software? My experience with the Garmin stuff is that this needn't be the same over the whole model range... Anyway, I've attached a patch with your range. This one should actually do what it is supposed to do. What I found out while looking at the source is, that while country and region strings are only saved once and then shared between all entries, the POI entries itself are not shared, even if they are identical. From looking at the file format it should be possible to share the entries. This should save a lot of space if you have a default name for a lot of your POIs that don't have/display address info. Regards Thilo

Thilo Hannemann (thannema@gmx.de) wrote:
Am 19.04.2010 um 22:32 schrieb Charlie Ferrero:
My tests suggest that only POIs in the range 0x2A00 to 0x32FF can carry address information.
Hi Charlie,
could you elaborate on that? What tests did you do and with what kind of GPS/software? My experience with the Garmin stuff is that this needn't be the same over the whole model range...
I used OSM_generate (http://www.cferrero.net/maps/osm_generate.html) to create a map consisting of a grid of POIs between 0x0001 and 0x7fff, then laboriously right-clicked them in MapSource (v 6.15.11) and saw if the properties info box that popped up included a box for an address. You can see the results here: http://www.cferrero.net/maps/downloads/garmin_feature_list.xls I haven't got round to repeating the exercise with my GPS unit, so I can't guarantee that the range is the same, though my experience suggests that MapSource is fairly consistent with the GPS units for this sort of thing (though completely inconsistent with icons used, for example). -- Charlie

Some stats about the patch: With my map (OSM Radkarte) the difference in size of the gmapsupp.img is 626622464 bytes (with patch) to 638369792 bytes (w/o patch), that is a reduction in size of about 1.8 %. Regards Thilo
participants (5)
-
Charlie Ferrero
-
charlie@cferrero.net
-
Daniela Duerbeck
-
Felix Hartmann
-
Thilo Hannemann