Как задать границы проектов#
Чтобы обозначить на карте Геопортала сведений ГИСОГД область действия проекта, откройте Конфигуратор Портала ГИСОГД и на странице со списком проектов щелкните мышью по наименованию проекта. В открывшемся окне заполните поле «Геометрия границы муниципального образования».
Важно
Геометрия границ муниципального образования должна быть в формате GeoJson и представлена полигоном.
Получение границы муниципального образования в GeoJson
Получить границы муниципального образования в GeoJson можно следующим образом:
Перейдите в ГИСОГД и откройте карточку объекта, содержащего геометрию границ интересующего муниципального образования. Откройте системные свойства этого объекта и скопируйте значение поля «ИД»
Подключитесь к БД ГИСОГД, например, с помощью pgAdmin, и выполните указанный ниже sql. Замените значения:
СХЕМА_ПРОЕКТА — наименование схемы проекта в БД,
КЛЮЧ_ОБЪЕКТА — скопированное значение поля «ИД».
select ST_AsGeoJson(g.geoloc) from СХЕМА_ПРОЕКТА.d_geo_urban g where owner_key=КЛЮЧ_ОБЪЕКТА
Нажмите Сохранить
Получение границ нескольких муниципальных образований из адресного плана в GeoJson
Получить границы нескольких муниципальных образований из адресного плана в GeoJson можно следующим образом:
Создайте временную таблицу:
CREATE TABLE IF NOT EXISTS importer.portal_gisogd_agat (
scheme text NULL,
full_name varchar(1000) NULL,
geoloc geometry NULL,
geometrytype varchar(100) NULL
);
Добавьте в таблицу данные границ ГО, МР, Региона:
do
$$
declare
project_rec record;
rec record;
begin
for project_rec in (select scheme from regadm.m_projects)
loop
perform set_config('search_path',project_rec.scheme,true);
for rec in (select project_rec.scheme as scheme, t1.full_name, t2.geoloc, geometrytype from d_su_adr t1
join d_geo_adr t2 on t1."key" = t2.owner_key and t2.sys_status = 0
where t1.la_spatial_unit_type_key in (select key from d_ref_la_spatial_unit_type t1 where alias in ('AdrObjCity', 'AdrObjArea', 'AdrObjRegion') and sys_status = 0)
and t1.sys_status = 0 and substring(t1.key::text,1,6)::bigint=f_get_systemid())
loop
insert into importer.portal_gisogd_agat (scheme, full_name, geoloc, geometrytype)
values (rec.scheme, rec.full_name, rec.geoloc, rec.geometrytype);
end loop;
end loop;
end$$;
Выведите GeoJSON полученных записей геометрии:
select ST_AsGeoJson(geoloc), * from importer.portal_gisogd_agat order by scheme;