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

Add presets for Germany School Types based on isced:level #331

Closed
wants to merge 5 commits into from

Conversation

tordans
Copy link
Collaborator

@tordans tordans commented Jan 5, 2022

Why

At the moment, there is only one preset for schools, when in fact we have at least three level of schools with multiple "versions" for level 2 (Realschule, Gymnasium, Hauptschule, Gesamtschule), and level 3 (Gymnasium, Gesamtschule).

The goal is, to have precise presets that allow to search and see the more precise school.

Example in OSM: https://www.openstreetmap.org/way/47023392#map=18/52.47302/13.44481

Tagging

Unfortunately, this topic is quite complex. The best way to tag those schools seems to be using isced:level=1|2|2;3 (for Germany).

Some Wiki research:

Tagging: grades=*

There is also the tag grades which we might want to add to those presets. https://wiki.openstreetmap.org/wiki/DE:Key:grades

The given example would match nicely with the new presets here. But I did not look into it too much, so that might be wrong … — Writing this down I see a first issue, since some Bundesländer don't have a year 13 anymore, right? So maybe adding a tag that might change at any year based on laws is not that great(?)

"isced:level": "1"-preset => "grades": "1-4"
"isced:level": "2"-preset => "grades": "5-10"
"isced:level": "3"-preset => "grades": "11-13" // 11-12 somewhere, right?
"isced:level": "2;3"-preset => "grades": "5-13" // 5-12 somewhere, right?

Tagging: Out of scope

  • I did not look at other countries (see above)
  • I did not look at Kindergarden and Universities(…)

Both can IMO be follow up PRs.

Scope: Germany

This PR tries to look at Germany only. Which I find complex enough. I suggest we try to get this going and add other countries afterwards. Since it is quite hard to find good (american) english terms for this, I just went and used German terms in the json files. Which is probably something we need to clean up.

FYI: Related OSM Wiki-Work

Unfortunately, there where no OSM Wikidata Data Items, yet for those isced:levels so even those cases that had the tag and used the (i) in iD to get more info, just received the generic key-info Q359. Therefore, I added wiki pages per tag, today which AFAIK will trigger the data-item-bot to add Tag-Wikidata-Items, which we then can use to add regional translations.

https://wiki.openstreetmap.org/wiki/Tag:isced:level%3D1
https://wiki.openstreetmap.org/wiki/Tag:isced:level%3D2
https://wiki.openstreetmap.org/wiki/Tag:isced:level%3D3
https://wiki.openstreetmap.org/wiki/Tag:isced:level%3D4
https://wiki.openstreetmap.org/wiki/Tag:isced:level%3D5
https://wiki.openstreetmap.org/wiki/Tag:isced:level%3D6
https://wiki.openstreetmap.org/wiki/DE:Tag:isced:level%3D2;3

I linked those new pages at https://wiki.openstreetmap.org/w/index.php?title=DE:Key:isced:level&diff=prev&oldid=2240883 and https://wiki.openstreetmap.org/w/index.php?title=Key:isced:level&diff=prev&oldid=2240874

Who to involve

Last year, there was an initiative to improve the school-data in OSM Germany

I will write an email to the given contacts an hope they can share they know how here.

Update: I will get feedback in the next weeks.

Status of the files

  • I tested one of them in iD but do not know if they really work.
  • (Update: See Introduce shared, automatic code formatting #333) —— My editor reformats all that JSON a lot. Can we maybe add something like an EditorConfig or a .prettierrc so that common formatter behave the same? Should I create a tickets for that?
  • I move the religious-fields to the moreFields for the DE-Scoped presets, since IMO those are less important here

Screenshots of how the search looks in iD right now

(For reference after the change)

Screenshots… search gesamtschule search realschule search gymnasium search grundschule

Copy link
Contributor

@1ec5 1ec5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Germany is quite fortunate to have school types that correspond so cleanly to ISCED levels. 👍 Treating the ISCED levels as an implementation detail for the school types makes sense because mappers don’t have to learn the ISCED system before mapping schools. (For other countries where isced:level is tantamount to mapping legislation, school looks more promising, but it’s stuck in a limbo of unapprovedness.)

Are there any differences relevant to Germany between ISCED 1997 (the original system documented on the wiki) and ISCED 2011 (the current system)?

The given example would match nicely with the new presets here. But I did not look into it too much, so that might be wrong … — Writing this down I see a first issue, since some Bundesländer don't have a year 13 anymore, right? So maybe adding a tag that might change at any year based on laws is not that great(?)

The tags in the preset should be ones we feel reasonably confident about applying consistently. It sounds like grades should be omitted. We wouldn’t want to require mappers to opt out of year 13 manually, because some probably won’t remember to. The Grades field will still be available for a mapper to tag on a case-by-case basis, ideally based on something locally verifiable.

"email",
"fax",
"fee",
"gnis/feature_id-US",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can safely remove this line and the corresponding lines in the other Germany-only presets. It’s pretty unlikely that both this U.S.-only field and the surrounding Germany-only preset would simultaneously apply to the selected feature. Since the countries aren’t neighbors, it’s extremely unlikely that the user would manage to select a school in both countries at the same time.

"isced:level": "1",
"amenity": "school"
},
"name": "Grundschule, Schulgelände"
Copy link
Contributor

@1ec5 1ec5 Jan 6, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a weird question, but… are there even obscure English names for these school types? Obviously the German names matter more, but ironically translators for German, Spanish, Russian, etc. would be asked to translate these strings, while there would be no way to translate them into English in Transifex. Or is there a way to mark a string as untranslatable?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hinted at this in the issue description. I do not know any and the bit wiki table does not provide any. Should we maybe have a name here along the lines of

"name": "_(For translators: This is just for Germany)_ Grundschule, Schulgelände"

This way, people might be less confused in Transfer.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That will be unsightly for any English speakers who have the misfortune of editing in Germany. Leaving it as is would be better. We need a dedicated property for flagging untranslatable names and other strings: ideditor/schema-builder#27. In the meantime, I suppose whoever has administrator access in iD’s Transifex project could manually add that context for these strings.

"name": "School Grounds"
"icon": "temaki-school",
"fields": [
"name",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like your editor changed the formatting on these files. Running npm run build will change it back to make the diff cleaner.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You’ll need to run the build anyways to update a couple files that are automatically derived from these JSON files.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, just did but it only generated the .yaml file, not change the formatting.

Are there editor setting recommendations somewhere? I just force-pushed a version that is a bit better and created #333 to discuss it further.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh you’re right, I guess I’m just used to the automatic formatting that name-suggestion-index does and assumed it was set up the same way here.

@1ec5
Copy link
Contributor

1ec5 commented Jan 6, 2022

Therefore, I added wiki pages per tag, today which AFAIK will trigger the data-item-bot to add Tag-Wikidata-Items, which we then can use to add regional translations.

Yurikbot hasn’t run since June 2020. You can manually create a data item for the various tags, then link them to the wiki page using the “Set item sitelink” link in the sidebar.

/cc @nyurik

The idea is, that on a school without an existing "isced:level" should have a prominent option to add it, which then changes the preset to the choosen isced:level.

Also, reformatting with prettier.

Reformat school.json with new .prettierrc
This might help to make sure editors that have prettier running don't change too much of the format. Might need tweaking.
Comment on lines +2 to +3
"tabWidth": 4,
"useTabs": false,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This config file specifies indentation with 4 spaces, but

  • this file uses tabs as indentation
  • the other new files use 2 spaces as indentation

Maybe your config does not apply properly?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be. But there is a separate PR for the config; let's discuss it there. The file is only in this PR until all the other questions are addressed. I will remove it at the end.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, now I saw your linked issue about the Prettier config. So I guess you'll reformat the other files before merging, too?

@1ec5 1ec5 mentioned this pull request May 21, 2022
@tordans
Copy link
Collaborator Author

tordans commented Jun 9, 2022

Link: Pieter published a Blogpost related to this topic https://www.openstreetmap.org/user/Pieter%20Vander%20Vennet/diary/399339

@tordans
Copy link
Collaborator Author

tordans commented May 7, 2023

Link: There was a proposal about how to map schools in Portugal https://wiki.openstreetmap.org/wiki/Portugal/Propostas/Parque_escolar

Translation: https://wiki-openstreetmap-org.translate.goog/wiki/Portugal/Propostas/Parque_escolar?_x_tr_sl=en&_x_tr_tl=de&_x_tr_hl=de&_x_tr_pto=wapp

They decided to not use the ISCED tag, but grades instead.

From the google translation:

The tagisced:level=* intends to use the values ​​defined by the International Standard Classification of Education (ISCED). This is a controversial system, because in addition to the 1997 version (the version to which the label corresponds) having been changed, there is no clear correspondence in use in Portugal. The fact that it can be changed/adapted makes it difficult to confirm in the field and, therefore, open to ambiguities, as this failed proposal attests . For these reasons, it was decided to use only the labelbars=* , since it is something easily verifiable and transversal to the entire education system.

tordans added a commit to tordans/id-tagging-schema that referenced this pull request Oct 6, 2023
This is based on openstreetmap#1021

I reused the school and isced level presets and fields from openstreetmap#1021 whenever possible. It will be important to add the correct translations during the translation process
- `school/1-US,DE.json` => "Grundschule"
- `school/2-US,DE.json` => "Sekundarschule ohne Oberstufe"
- `school/2-DE.json` => "Sekundarschule mit Oberstufe"

The ISCED level fields work nicely with the multiCombo by automatically selecting the right preset based on the field combinations.

This is a fresh take on and supersedes openstreetmap#331
@tordans
Copy link
Collaborator Author

tordans commented Oct 6, 2023

There is a new PR at arch0345#1 which follows the structure from #1021.

That PR is the better solution to what I was trying here.

@tordans tordans closed this Oct 6, 2023
@tordans tordans deleted the german-schools branch October 6, 2023 09:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants