Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Render offices as dots + names #3163

Merged
merged 3 commits into from
Apr 19, 2018
Merged

Conversation

andrzej-r
Copy link
Contributor

Rebased #3061 to a new master branch. No changes to the code. Incremental commits merged into a single one. So far testing yields the same results as with #3061.

RE #108
Fixes #271
Fixes #1922
Fixes #2570

Rebased to a new master branch
@kocio-pl
Copy link
Collaborator

kocio-pl commented Apr 3, 2018

I guess we could close #3163 then?

@kocio-pl
Copy link
Collaborator

kocio-pl commented Apr 4, 2018

Thanks. I started testing and it looks like dark blue is too strong - maybe orange (like in natural=peak) would be better, because it blends better with brown buildings. Example place:

qregsgyf

@andrzej-r
Copy link
Contributor Author

I agree darkblue stands out a bit too much among surrounding labels. I'll try to tone it down a bit. The colour is otherwise fine to me.

Landform-color is much too weak (barely readable) and it doesn't "feel like an office" to me (example).
office3_l18_london8

@kocio-pl
Copy link
Collaborator

kocio-pl commented Apr 4, 2018

I think the dot is OK (but might be darker too), but the name could be then made darker to balance the problem how thin the letters are when using halo.

@andrzej-r
Copy link
Contributor Author

Honestly, an office is the last thing coming to my mind when I see orange.

How about #4863A0 aka steelblue?
office3_l18_london9

@kocio-pl
Copy link
Collaborator

kocio-pl commented Apr 4, 2018

The text is too weak now to read it easily, but something in between might be good:

ox7iuxzg

@kocio-pl
Copy link
Collaborator

kocio-pl commented Apr 4, 2018

It looks like for Mapnik/CartoCSS this color has a different name - hex value looks good for me:

hog2dedg

@matthijsmelissen
Copy link
Collaborator

Another option would be simple gray text, or perhaps gray text with a gray dot.

@andrzej-r
Copy link
Contributor Author

"gray" looks OK but it may be too similar to regular building labels. In fact, it looks more like a feature of a building than a POI:

office3_l18_london10

@andrzej-r
Copy link
Contributor Author

I have to leave. Let me know if you've got other ideas to try and/or state your preference. I am not pushing anything yet.

@andrzej-r
Copy link
Contributor Author

Any objections to I changing the colour to #4863A0 (steel blue)? @kocio-pl, looks like you liked the gray version. is that what you prefer? Any other ideas?

@kocio-pl
Copy link
Collaborator

kocio-pl commented Apr 6, 2018

I prefer steel blue. I was trying to indicate that I agree with your comment.

@rrzefox
Copy link

rrzefox commented Apr 6, 2018

I've now deployed current master with this PR (with color-value changed to #4863A0) as well as 3164 on my server. Not all zoom levels have finished rerendering yet. Edit: All zoom levels have been rerendered by now.

Links to the demo-places from above:
http://bl.ocks.org/matthijsmelissen/raw/af7a602c222dbf1ff1a2c0d84ed755b7/#18.00/52.26082/20.99056
http://bl.ocks.org/matthijsmelissen/raw/af7a602c222dbf1ff1a2c0d84ed755b7/#18.00/51.51546/-0.09271

@lakedistrictOSM
Copy link

I've had a look at a few places on the link above and I've noticed that office=architect, office=accountant and office=insurance all render in purple. Is this intentional?

Also, office=taxi doesn't render at all.

@andrzej-r
Copy link
Contributor Author

The intention was to render "amenity-like" offices the same way as other amenities. I don't have a strong opinion on that. I would like know what others prefer.

I haven't seen office=taxi neither in the wiki (unlike amenity=taxi) nor in iD presets. There are only 150 office=taxi tags in taginfo. Again, if popular opinion is that it is good to add it - I will do so.

It may be good to go through https://taginfo.openstreetmap.org/keys/office#values and check what other office= values should be rendered. Volunteers?

@Tomasz-W
Copy link

Tomasz-W commented Apr 7, 2018

I still think we should use dark-blue for all offices, and make only one exeption - black government ones. I don't see reason for using purple or brown, which may be confusing for map users.

@dieterdreist
Copy link

dieterdreist commented Apr 7, 2018 via email

@andrzej-r
Copy link
Contributor Author

I am unsure what to do about it myself. We can approach this in two ways:

  1. try to use an "optimum" rendering (in this case colour) for each office= value. For example treating smaller service oriented offices as amenities.
  2. Follow the tagging and try to be consistent. This means use the same visual representation (colour) for all offices and let the mappers decide if that is what they want or if they need new tags.

Can you state your preferences or other ideas? At the moment I understand the vote is:

  1. dieterdreist
  2. Tomasz-W
  3. (abstain) andrzej-r

By the way, in my opinion offices are equally important to amenity points but we have previously negotiated making them less prominent. Not too concerned about it (in fact, I would be OK making amenity points less prominent in general). Please voice your opinion on that as well.

@andrzej-r
Copy link
Contributor Author

andrzej-r commented Apr 7, 2018

Below is a list of the first 240 (out of 3708) office tag values from taginfo. The checkbox means the value is implemented in this PR.

  • The PR implements most important office= values as encouraged by Wiki and supported in iD.
  • There is a very long tail of perfectly valid and useful office= values.

What do you think about rendering all office tag values instead? Perhaps after filtering out discouraged tags. I think this may be a good approach for mapping feedback, would simplify the code and is not harmful (other than a few exceptions we can render all of them the same way).

The list:

  • government 94 636 22.82% ✔ An office of a (supra)national, regional or local government agency or department
  • company 86 853 20.94% ✔ An office of a private company
  • yes 35 367 8.53% ✔ Generic tag for unspecified office type.
  • estate_agent 27 658 6.67% ✔ A place where you can rent or buy a house.
  • insurance 22 567 5.44% ✔ An office at which you can take out insurance policies.
  • lawyer 17 373 4.19% ✔ An office for a lawyer.
  • administrative 14 379 3.47% ✔ DISCOURAGED, use office=government instead.
  • educational_institution 13 496 3.25% ✔ An office for an educational institution.
  • telecommunication 12 909 3.11% ✔ An office for a telecommunication company
  • ngo 9 408 2.27% ✔ An office for a non-government organisation.
  • it 6 345 1.53% ✔ An office for an IT specialist.
  • association 6 261 1.51% ✔ An office of a non-profit organisation, society, e.g. student, sport, consumer, automobile, bike association, etc…
  • accountant 5 364 1.29% ✔ An office for an accountant.
  • employment_agency 5 222 1.26% ✔ An office for an employment service.
  • research 5 046 1.22% ✔ An office for research and development
  • religion 4 708 1.14% ✔ An office of an religion instance.
  • architect 3 769 0.91% ✔ An office for an architect or group of architects.
  • financial 3 567 0.86% ✔ An office of a company in the financial sector
  • newspaper 3 253 0.78% ✔ An office of a newspaper
  • physician 3 099 0.75% -
  • travel_agent 2 616 0.63% ✔
  • therapist 2 585 0.62% ✔ Office for a physical therapy, such as physiotherapy, therapy against neurologic diseases or osteopathy.
  • political_party 2 386 0.58% ✔ An office of a political party
  • advertising_agency 1 763 0.43% ✔ A service-based business dedicated to creating, planning, and handling advertising.
  • tax_advisor 1 638 0.40% ✔ An office for a financial expert specially trained in tax law
  • notary 1 537 0.37% ✔ An office for a notary public.
  • energy_supplier 1 403 0.34% ✔ An office for a energy supplier.
  • foundation 961 0.23% ✔ An office of a foundation
  • logistics 630 0.15% ✔ An office for a forwarder / hauler.
  • medical 544 0.13% -
  • tax 469 0.11% ✔ Fiscal authorities, tax and revenue office.
  • consulting 456 0.11% -
  • parish 447 0.11% ✔
  • forestry 427 0.10% ✔ A forestry office
  • coworking 419 0.10% ✔
  • water_utility 383 0.09% ✔ The office for a water utility company or water board.
  • property_maintenance 383 0.09% -
  • construction_company 383 0.09% -
  • vacant 340 0.08% -
  • charity 277 0.07% ✔ An office of a charitable organization
  • publisher 244 0.06% -
  • quango 242 0.06% ✔ An office of a quasi-autonomous non-governmental organisation.
  • camping 231 0.06% ✔
  • guide 225 0.05% ✔ An office for tour guides, mountain guides, dive guides, etc.
  • moving_company 219 0.05% ✔ An office which offers a relocation service.
  • engineering 203 0.05% -
  • university 200 0.05% -
  • cooperative 175 0.04% -
  • podologist 173 0.04% -
  • administration 170 0.04% -
  • surveyor 165 0.04% ✔ An office of a person doing surveys, this can be land survey, risk and damage evaluations of properties and equipment, opinion surveys or statistics.
  • real_estate 161 0.04% -
  • transport 152 0.04% -
  • taxi 150 0.04% -
  • engineer 137 0.03% ✔ An office for an engineer or group of engineer.
  • solicitor 131 0.03% -
  • healer 116 0.03% -
  • utility_charge_accounting 111 0.03% -
  • union 111 0.03% -
  • security 109 0.03% -
  • design 107 0.03% -
  • marketing 104 0.03% -
  • commercial 98 0.02% -
  • financial_advisor 95 0.02% -
  • bank 94 0.02% -
  • health_insurance 94 0.02% -
  • recruitment 88 0.02% -
  • construction 88 0.02% -
  • education 86 0.02% -
  • finance 80 0.02% -
  • psychologist 78 0.02% -
  • graphic_design 77 0.02% -
  • church 75 0.02% -
  • property_management 74 0.02% ✔ Office of a company, which manages a real estate property.
  • private 72 0.02% -
  • utility 70 0.02% -
  • investment 70 0.02% -
  • Station␣2 69 0.02% -
  • healthcare 67 0.02% -
  • courier 66 0.02% -
  • fire_department 64 0.02% -
  • consultant 62 0.01% -
  • club 60 0.01% -
  • public_transport 59 0.01% -
  • financial_services 58 0.01% -
  • labor_union 57 0.01% -
  • auctioneer 55 0.01% -
  • nursing_service 55 0.01% -
  • travel_agency 54 0.01% -
  • organization 51 0.01% -
  • realtor 50 0.01% ✔
  • trade_union 50 0.01% -
  • communication 50 0.01% -
  • translation 50 0.01% -
  • radio_station 48 0.01% -
  • military 46 0.01% -
  • logistic 44 0.01% -
  • delivery 43 0.01% -
  • software 43 0.01% -
  • translator 43 0.01% -
  • media 43 0.01% -
  • solicitors 42 0.01% -
  • labour_union 42 0.01% -
  • real_estate_agent 42 0.01% ✔ DISCOURAGED - Use office=estate_agent instead
  • mortgage 42 0.01% -
  • international_organization 41 0.01% -
  • builder 40 0.01% -
  • igo 39 0.01% -
  • incubator 39 0.01% -
  • goverment 38 0.01% -
  • estate_agency 37 0.01% -
  • doctor 36 0.01% -
  • insurance_agent 35 0.01% -
  • register 35 0.01% ✔ DISCOURAGED, use office=government + government=register_office instead.
  • tourism 34 0.01% -
  • coworking_space 33 0.01% -
  • web_design 33 0.01% -
  • police 31 0.01% -
  • tutoring 31 0.01% -
  • service 30 0.01% -
  • electronics 30 0.01% -
  • Station␣3 30 0.01% -
  • letting_agent 30 0.01% -
  • airline 29 0.01% -
  • private_investigator 29 0.01% ✔ An office of a private investigator
  • reception 29 0.01% -
  • politician 28 0.01% -
  • camp_resident_committee 28 0.01% -
  • power_utility 27 0.01% -
  • NGO 26 0.01% -
  • consultancy 26 0.01% -
  • printing 26 0.01% -
  • laboratory 26 0.01% -
  • cleaning 26 0.01% -
  • training 25 0.01% -
  • advertising 25 0.01% -
  • school 25 0.01% -
  • dentist 24 0.01% -
  • television␣station 24 0.01% -
  • midwife 24 0.01% -
  • civil_engineer 23 0.01% -
  • wedding_planner 23 0.01% -
  • interior_design 21 0.01% -
  • apartments 21 0.01% -
  • pawnbroker 21 0.01% -
  • industrial 21 0.01% -
  • ingo 20 0.00% -
  • shipping_agent 20 0.00% -
  • social_facility 20 0.00% -
  • un-government 19 0.00% -
  • business 19 0.00% -
  • telecommunications 18 0.00% -
  • foreign_national_agency 18 0.00% -
  • rectory 18 0.00% -
  • council 18 0.00% -
  • public_service_provider 17 0.00% -
  • trade 17 0.00% -
  • unknown 17 0.00% -
  • Station␣1 17 0.00% -
  • Courier_Service 17 0.00% -
  • apartment 16 0.00% -
  • building_maintenance 16 0.00% -
  • radio 16 0.00% -
  • funeral_directors 15 0.00% -
  • Miteinander␣Teilen 15 0.00% -
  • administrate 14 0.00% -
  • news_agency 14 0.00% -
  • shipping 14 0.00% -
  • funeral_director 14 0.00% -
  • attorney 14 0.00% -
  • Private 13 0.00% -
  • broker 13 0.00% -
  • drainage_board 13 0.00% -
  • public 13 0.00% -
  • money_lender 12 0.00% -
  • utilities 12 0.00% -
  • Government 12 0.00% -
  • services 12 0.00% -
  • television 12 0.00% -
  • online_shop 12 0.00% -
  • post_office 12 0.00% -
  • chiropractor 12 0.00% -
  • non-governmental_organization 11 0.00% ✔
  • Massachusetts␣Trial␣Court␣Law␣Libraries 11 0.00% -
  • reli 11 0.00% -
  • cbo 11 0.00% -
  • general_contractor 11 0.00% -
  • nurse 11 0.00% -
  • * 11 0.00% -
  • information 11 0.00% -
  • bail_bond_agent 11 0.00% -
  • minicab 11 0.00% -
  • catering 10 0.00% -
  • advertisement 10 0.00% -
  • leasing 10 0.00% -
  • land_surveyor 10 0.00% -
  • legal 10 0.00% -
  • driving_school 10 0.00% -
  • contractor 10 0.00% -
  • trade_organisation 10 0.00% -
  • Station␣4 10 0.00% -
  • Station␣5 10 0.00% -
  • political 10 0.00% -
  • designer 9 0.00% -
  • computer 9 0.00% -
  • customs 9 0.00% -
  • recruitment_agency 9 0.00% -
  • Manufacturer 9 0.00% -
  • adoption_agency 9 0.00% ✔ A place where prospective parent/s may adopt a child or children.
  • clerical 9 0.00% -
  • mortgage_broker 9 0.00% -
  • culture 9 0.00% -
  • home_care 9 0.00% -
  • state_agent 9 0.00% -
  • energy 9 0.00% -
  • general 9 0.00% -
  • fuel 9 0.00% -
  • print 8 0.00% -
  • rental 8 0.00% -
  • electrician 8 0.00% -
  • sport 8 0.00% -
  • railway 8 0.00% -
  • housing_association 8 0.00% -
  • printer 8 0.00% -
  • publishing 8 0.00% -
  • craft 8 0.00% -
  • employment 8 0.00% -
  • insurance_agency 8 0.00% -
  • nonprofit 8 0.00% -
  • bookmaker 8 0.00% -
  • chiropractic 8 0.00% -
  • survey 8 0.00% -
  • event_management 7 0.00% -
  • civic 7 0.00% -
  • public_utilities 7 0.00% -
  • electricity 7 0.00% -
  • serviced_offices 7 0.00% -
  • quantity_surveyor 7 0.00% -
  • building_management 7 0.00% -
  • estate 7 0.00% -

@dieterdreist
Copy link

dieterdreist commented Apr 7, 2018 via email

@dieterdreist
Copy link

dieterdreist commented Apr 7, 2018 via email

@lakedistrictOSM
Copy link

If possible, all values of office=* should be rendered.

IMO, using purple makes them look like shops which they are not - all values should be in dark blue. The only exception might be estate agents, but I don't have a strong opinion either way.

@andrzej-r
Copy link
Contributor Author

OK, looks like the consensus is to render all office tags in steelblue colour (and not e.g. purple like I currently do for some of them). I will change that.

Things to decide:

  • Shall we use a whitelist (current implementation), render all office=*, or use a blacklist (not render certain values). The more I think about it I feel we should render everything and let the mappers decide what tag values to use. Otherwise we will end up with a constantly evolving list of hundreds of tag values (just wait for bug reports "office=X is not supported"). We should simply not be in charge of that.
  • rendering dots/icons on buildings/landuse/... areas. Positives: Dots help to identify an object there is no name= tag or when the label does not fit. Negatives: Dots are distracting when a simple label on a building would suffice. The implementation is surprisingly complicated, though. For example how do we test if at z19 a label will not be fit so that we should add a dot instead (we can't)? What to do with areas different from building=? What to do when both building= and office= tags are set but there is no name= tag? All of these issues are solved by adding a dot, which may not be pretty but is simple, functional, and provides a good feedback to the mappers. On a purely technical side, I have no code for hiding the dots on buildings and I don't expect anything working well anytime soon.

- Use a toned down steelblue colour instead of darkblue
- Removed shop-like offices.
  Two classes of offices left: larger and regular.
  Differ only with filtering options.
- No longer rendering office=yes
@andrzej-r
Copy link
Contributor Author

andrzej-r commented Apr 7, 2018

Changed colour of all office tags to steelblue. Removed office=yes.

Other than the two potential modifications mentioned above, which would require going back to a drawing board and a new PR, I think the code is in a good shape for merging.

Example:
office3_l19_london11

@andrzej-r
Copy link
Contributor Author

I am OK with that. I also prefer to first release what we have and focus on possible improvements later.

The simplest and the cleanest solution would be to replace the current "other offices" sections with a catch all clause. But, if you want, we can indeed introduce a 3rd category of office pois rendered from z19.

BTW, the is_building test is not sufficient. I have seen occurrences of office ways with area=yes, landuse=*, or even nothing at all (just office). It would be good to have something like is_way/is_point.

@kocio-pl
Copy link
Collaborator

kocio-pl commented Apr 9, 2018

These informations are on the database layer level, but then they are somehow unified, so we might add some special values, but I'm not sure if it's really needed. Not using the dots just for the buildings would be OK for me.

@kocio-pl
Copy link
Collaborator

kocio-pl commented Apr 9, 2018

On the other hand - we render shop dots like that (dots are always rendered), so maybe we might keep it the same, at least for now.

@andrzej-r
Copy link
Contributor Author

I think it all boils down to Mapnik not implementing: "Render this label but if it doesn't fit render this icon/shape instead". Or at least I think it cannot do that. Without that, the only solution that guarantees that something will remain visible is to always render the icon (plus, optionally, the label).

@andrzej-r
Copy link
Contributor Author

Anything left to do in the current version?

As suggested, I am deferring the blacklist-type implementation changes until after this PR is merged.

@rrzefox
Copy link

rrzefox commented Apr 13, 2018

I have now updated the version on my server to the current version of this PR, but not rerendered all tiles yet.

@matthijsmelissen
Copy link
Collaborator

@matthijsmelissen
Copy link
Collaborator

@kocio-pl I think we can merge this. As you have been most active in this discussion, I'll leave that to you.

@kocio-pl
Copy link
Collaborator

The only thing that we could change before I merge it is that we could start rendering all the "other" offices with just a dot (without name) from z17, because when they have an address number, it looks to me both more cluttered than dots and less intuitive (one building should normally have just one address, multiple numbers suggest more complicated addressing, not more POIs). This place is a good example of this problem.

What do you think about it?

@dieterdreist
Copy link

dieterdreist commented Apr 16, 2018 via email

@kocio-pl
Copy link
Collaborator

Exactly - that's more complicated addressing system and I think that bunch of offices should look different than this. I have created a ticket #962 long time ago for avoiding this.

@andrzej-r
Copy link
Contributor Author

I can do that but afair you wanted to implement this feature outside of this pr, so I don't have anything ready just yet.

It should be fairly easy to do but it may still take several days because I can't access my computer atm.

@kocio-pl
Copy link
Collaborator

kocio-pl commented Apr 17, 2018

OK, sure. Sorry for such a late suggestion, but this is non obvious change of cartography, so I try to judge all the details from different angles, even if the general idea and code are quite simple.

This change would make office priority system less clear, which was quite nice idea, but dots are not as big source of clutter as labels (or address numbers) are, so it makes sense for me to render all the office dots on z17+ and indicate the priority just by initial zoom level for labels (z17+ for important ones, z18+ for less important ones - and z19+ for all the rest in the next step).

@andrzej-r
Copy link
Contributor Author

OK. One caveat: filtering options for labels and dots should be in sync. I don't remember the mechanics but that's what was causing rendering errors you found a couple of months ago. I imagine the same is true for other points too.

Perhaps, if we find rendering too congested, we can later downgrade all points by 1 zoom level?

@kocio-pl
Copy link
Collaborator

Sure, we can always change anything if it doesn't work. I don't remember - what errors are you talking about?

@andrzej-r
Copy link
Contributor Author

I'm referring to the issues you reported in #3061 (comment)

although (afair) in that case the dot was rendered at a higher zoom level than the label. I understand you would like to render the dot from z17 and the labels from z17-19 - it may work this way around. I will try that.

- dots at z17+
- labels of large offices at z17+
- labels of documented office types at z18+
- labels of all other offices at z19+
@andrzej-r
Copy link
Contributor Author

Done. Works fine here. No double labels or other artifacts we've seen in the past.

An example of a previously unsupported office='design' tag/value combination:

z18:
office3_l18_london13
z19:
office3_l19_london12

@dieterdreist
Copy link

dieterdreist commented Apr 17, 2018 via email

@andrzej-r
Copy link
Contributor Author

andrzej-r commented Apr 17, 2018

Office dot sizes are consistent with that of other points (shops, amenities). I don't mind changing them all (I agree they could be smaller) but IMHO that's outside the scope of this PR.

Edit: at z17 they are smaller (just like other dots).

@kocio-pl
Copy link
Collaborator

I like the result. The same example place in Warsaw as before shows nice labels progression:

z17: office=newspaper
dpxkk lh

z18: + office=lawyer and office=company
acqg_gyg

z19: + office=yes
4zmdg4nt

@kocio-pl
Copy link
Collaborator

Zoetermeer example:

z17

Before
wy9mpjbo

After
mrcuedr2

z18

Before
omgo1jpw

After
end3ebn0

z19

Before
qpnoyi_p

After
2xpg2uvq

@kocio-pl
Copy link
Collaborator

London example:

z17

Before
d1g1b9c3

After
jpoc71sl

z18

Before
33y3gtxr

After
dcygs4gv

z19

Before
kykqidxy

After
sr7f2pcd

@Tomasz-W
Copy link

Tomasz-W commented Apr 18, 2018

Just my thoughts about first comment here, and what this PR is actually resolving:

@kocio-pl kocio-pl merged commit b7ff38e into gravitystorm:master Apr 19, 2018
@kocio-pl
Copy link
Collaborator

kocio-pl commented Apr 19, 2018

Thanks for the work, I think it's mature enough and it's time to release it. Further tuning is always possible and might be even needed (just like with towers), but that's a solid base which should not be talked to death on this stage. Soon we will know what other people think and I'm curious about it...

It's also good to review which issues have been really fixed by this code, but it's a separate problem which we could solve later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
7 participants