OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2017-04-14 10:21:12

alex_m069
Member
Registered: 2016-11-07
Posts: 24

Полигоны и пустоты в них

Здравствуйте!
Никак не могу понять, каким образом в базе лежат объекты - полигоны, имеющие отверстия.
Например полигон, обозначающий лес, а внутри него - вырубка. Речь идет именно о исключении определенной зоны из полигона.
Отношения? Каким образом формировать sql запрос на добавление такого объекта?

Offline

#2 2017-04-14 10:41:35

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 7,472

Re: Полигоны и пустоты в них

ST_MakePolygon(geometry outerlinestring, geometry[] interiorlinestrings);

Offline

#3 2017-04-14 10:56:12

chnav
Member
From: Moscow, Russia
Registered: 2010-03-18
Posts: 2,805

Re: Полигоны и пустоты в них

alex_m069 wrote:

Здравствуйте!
Никак не могу понять, каким образом в базе лежат объекты - полигоны, имеющие отверстия.
Например полигон, обозначающий лес, а внутри него - вырубка. Речь идет именно о исключении определенной зоны из полигона.
Отношения?

В базе ОСМ они хранятся как мультиполиноы (relation).

Во время импорта программа-конвертер, например osm2pgsql, делает из них полигоны "с дырками" и хранит в едином поле way. Если лезть совсем внутрь, обычно внешний контур хранится по часовой стрелке, а внутренние дырки - против часовой стрелки. Так рендер понимает где делать заливку.

Last edited by chnav (2017-04-14 10:57:12)

Offline

Board footer

Powered by FluxBB