You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
1.1 KiB
22 lines
1.1 KiB
create table kpdl_zp_nas_diff as SELECT ogc_fid, wkb_geometry, kd_kanwil, nm_kanwil, nm_kpp, kd_kpp, kd_unit_or, no_urut, nip_ar, nm_ar, seksi, zona, wil_induk, null as attribute1 |
|
FROM zp_nas; |
|
|
|
update kpdl_zp_nas_diff a set wkb_geometry = ST_Multi(COALESCE( |
|
ST_Difference(a.wkb_geometry, (SELECT ST_Union(wkb_geometry) FROM zp_nas AS b WHERE ST_Intersects(a.wkb_geometry, b.wkb_geometry) and a.ogc_fid> b.ogc_fid)), |
|
a.wkb_geometry |
|
)); |
|
|
|
with zonaolah as |
|
(select |
|
ogc_fid, --unique id |
|
cardinality(string_to_array(wil_induk::varchar, ',')) / 2 as jml_pecahan, |
|
REGEXP_REPLACE((string_to_array(wil_induk::varchar, ','))[2],'"|}|{|\s{2,}','', 1, 0, 'i') as nama_kel_pertama |
|
from zp_nas) |
|
update kpdl_zp_nas_diff a set attribute1 = |
|
initcap(a.zona) || |
|
case |
|
when zonaolah.jml_pecahan = 1 then ' dari kelurahan ' || zonaolah.nama_kel_pertama |
|
when zonaolah.jml_pecahan > 1 then ' dari kelurahan ' || zonaolah.nama_kel_pertama || ' dan ' || zonaolah.jml_pecahan - 1 || ' lainnya' |
|
else '' end |
|
from zonaolah |
|
where a.ogc_fid = zonaolah.ogc_fid; |