Проблема указана в заголовке. Проблема глобальная, т.к. я ее наблюдал прямо на planet.pbf.
Как я понимаю, при экспорте планеты в PBF применяется набор правил, указывающих, объекты с какими тегами куда относить (points, lines, multilinestrings, multipolygons, other_relations - такие слои показывает QGIS при импорте PBF). И, видать, весь ключ waterway=* с горяча был добавлен в раздел линий с успешно забытым полигоном waterway=riverbank (а еще есть waterway=dam, может еще кто вспомнит).
Короче, чё делать-то? Где эти правила, где их исправлять и куда отправлять пулл-реквест?
Решение: править конфиг для OGR.

Итак, PBF хранит сырые данные OSM в бинарном, сжатом виде. Т.е. всё так же ноды с координатами, линии - как список нод и отношения.
А вот
это уже конвертация OGR(GDAL). А правила по которым он преобразует выглядят например так:
http://www.ram-solutions.nl/wp-content/uploads/2015/11/osm_ogr_to_imposm.txt
Я подозревал это, но дело втом, что ошибку я обнаружил при использовании ogr2ogr, где эти правила вписываются в ini-файл:
ogr2ogr -f CSV -t_srs EPSG:4326 CSV_OUTPUT_DIR2 test.pbf -lco GEOMETRY=AS_WKT --config OSM_CONFIG_FILE ~/my-osm-conf.ini
И в этом конфиг-файле waterway присутствует в списке мультиполигонов.
В разделе lines он тоже есть, для проверки времено убрал, не помогло: он все равно выводит waterway=riverbank в lines, но вписывает этот тег в стобец “other tags”. Короче, отказывается признавать этот объект мультиполигоном.
test.pbf я вырезаю из planet.pbf через osmconvert --complex-ways с промежуточным преобразованием в pbf->o5m->pbf.
Кто слепой? Я слепой. В самом верху конфига:
# put here the name of keys for ways that are assumed to be polygons if they are closed
# see http://wiki.openstreetmap.org/wiki/Map_Features
closed_ways_are_polygons=aeroway,amenity,boundary,building,craft,geological,historic,landuse,leisure,military,natural,office,place,shop,sport,tourism
Сбило меня еще то, что некоторые другие ривербанки всё-таки превращались в полигоны, но на них висели и другие теги, которые могли повлиять на решение. Но так совпало, что эти ривербанки были не просто замкнутым way-контуром, а отношением типа мультиполигон, т.к. по разным причинам либо склеивались из нескольких линий, либо имели inner-вырезку.
Такие дела. Полдня провозился. Спасибо.
Я думал ты первым делом проверил, что конкретные объекты действительно подходят на роль полигонов.
Но у меня к тебе другая просьба, раз у тебя есть файл планеты, можешь мне вырезать из неё границы?
osmfilter.exe %1 --keep="type=boundary AND boundary=administrative place=city =town =village =hamlet =isolated_dwelling" --drop-author --drop-version -o=atd_places.o5m
Планета у меня старая, ноябрь 2016 г., сойдет? Но я уже качаю свежую, самому нужна. 2 Мбайт/сек с какого-то торрента. 1 источник. Это до вечера.
И еще, admin_level ты в фильтре намеренно не указал?
Я готов подождать. Да, не указывал, нужны все уровни.
https://yadi.sk/d/4Zs_rl9t3NNnEe
1.2 Гб О_О
Я думал, будет меньше. Возможно osmfilter включил ненужные теги, которые были на объектах, частью которых является админграница (контуры лесов там и всякое такое).
Спасибо. Да, там остаётся много лишнего, потом это приходится ещё раз уже другими программами прогонять.