sections of multipolygon rendering differently

I’ve been trying to add a marine protected area, made up of two parts - a large part -
and a smaller part - with a multipolygon relation
My problem is that the larger section renders the same as other similarly tagged, (but single part) areas, but the smaller section disappears at zoom 12 and below. I would also prefer the site name to appear along the seaward boundary of the smaller section, as it does in the larger area.

On the second part, the only legitimate way of exercising such control of the rendering is to create your own tool chain and make it follow your policies. The standard Mapnik layer is intended for mappers, not end users, and will almost arbitrarily suppress names to avoid clutter, as well as choosing, for itself, where to place them. There is no guarantee that it will even continue to show protected areas at all; a lot of features on the map are not rendered in the standard layer.

On the first part, I can’t see any fundamental difference, however, you may be confusing the issue by repeating the same tags on both relation and ways.

I’m guessing that it’s the -G flag passed to osm2pgsql - I think that this is the default now. It’s treated as one object and the larger piece gets the name. The alternative, where every small piece gets a name, would give rise to situations like this: .

(stepping back a bit to explain that answer)

“osm2pgsql” is what is used to convert raw OSM data into a rendering database, which is in turn used to create maps from. “osm2pgsql” supports either “display a name on every small piece” or “display a name on the biggest piece”. The “standard” OSM map style is now told to “display a name on the biggest piece” by being passed a flag on the command line (-G). Other map styles are available, and some may display multiple names, so if that’s what you want, use one of those. If you want to experiment with your own map style you can follow , omit the “-G” on the “osm2pgsql” that those instructions have you typing in, and you’ll probably end up with what you want.