postgis geomerty columns

select
*
from geometry_columns
where
f_table_name like 'geoplan%'
;

Postgresql otomatik yedek alma

fonksiyon oluşturulur
CREATE OR REPLACE FUNCTION admin.copy_haritapaftabin(IN p_path text, IN p_filename_prefix text, OUT file_and_path text)
RETURNS text AS
$BODY$
DECLARE
qry TEXT;
BEGIN
file_and_path := RTRIM(p_path,'/') || '/' || p_filename_prefix || '_' || to_char(CURRENT_TIMESTAMP, 'YYYY-MM-DD-HH-MI'::text) || '.csv';

qry := FORMAT('COPY (select * from harita.paftabin) TO %L CSV HEADER',file_and_path);
EXECUTE qry;
END;
$BODY$
LANGUAGE plpgsql VOLATILE STRICT SECURITY DEFINER
COST 100;


select komutu tabloyu csv olarak dışarı alır. job yapılabilir

SELECT admin.copy_haritapaftabin('e:\YEDEK\VT\csv','haritapaftabin');

Online Wms Viewer

https://wms-viewer-online.appspot.com/indexmap.html

geoserver labeling

https://docs.geoserver.org/stable/en/user/styling/sld/reference/labeling.html

Network Lisans İzleyicisi Program Numaraları

http://portal.netcad.com.tr/display/HELP/Network+Lisans+Izleyicisi?src=search

geoserver labeling not supported with qgis

QGIS does not export labels use UDIG to do styling and labeling (generate SLD) or ArcGIS ArcMap with Arc2Earth.

https://gis.stackexchange.com/questions/149033/exporting-qgis-styles-to-sld-for-geoserver

set SRID postgis

ALTER TABLE mytable ALTER COLUMN geom TYPE geometry(MultiPolygon,4326) USING ST_SetSRID(geom,4326);

set SRID postgis

ALTER TABLE uygulama.uygulama_multi ALTER COLUMN poly type geometry(Polygon, 5256);

pg_stat_activity

SELECT * FROM pg_stat_activity

--where usename = 'user'
order by usename;

Netcad de wms cach temizleme batch dosyası

del /s /q %userprofile%\AppData\Local\Temp\WMSCache ever the file is*
rmdir /s /q %userprofile%\AppData\Local\Temp\WMSCache ever the file is\

oruxmaps yükleme

http://www.kursatozcan.com/oruxmaps_uydu_haritasi_download

netcad 7.7 de online google haritası ekleme

Netcad Portal Konu Linki

http://portal.netcad.com.tr/display/HELP/NETCAD+Forum/?sayfa=konu&konuId=96480

-----------------------------------------------------------------------------
Referanslar\Ekle\Online Haritalar\Ekle -->Online Harita sekmesi
-----------------------------------------------------------------------------

Sokak Haritası için

URL: mt{$s}.google.com/vt/lyrs=m&hl=tr-TR&gl=cn&x={$x}&y={$y}&z={$z}&s=

Alt Alanlar: 0,1,2,3

-----------------------------------------------------------------------------
Uydu Görüntüsü İçin

URL: mt{$s}.google.com/vt/lyrs=s&gl=tr&x={$x}&y={$y}&z={$z}&s=

Alt Alanlar: 0,1,2,3

-----------------------------------------------------------------------------
Karma Harita için

URL: mt{$s}.google.com/vt/lyrs=h&hl=tr-TR&gl=tr&x={$x}&y={$y}&z={$z}&s=

Alt Alanlar: 0,1,2,3

primarykey i "idd" olan tabloda çift "objectid" li verilerin temizlenmesi


ALTER TABLE uygulama.uygulama_single
  ADD COLUMN cift character varying(25);

  
select idd from uygulama.uygulama_single
where idd not in 
(
select max(idd)
from uygulama.uygulama_single
group by objectid)
;

update uygulama.uygulama_single
set cift = 1
where idd not in 
(
select max(idd)
from uygulama.uygulama_single
group by objectid)
;

delete from uygulama.uygulama_single
where cift = '1'
;


postgis - multipolygon tipindeki verinin düzenlenerek single forma dönüştürülmesi - tüm script

create table uygulama.uygulama_single as
SELECT objectid, ilcekod, mahallekod, yapankod, kontroledenkod, uygulamatipikod,
uygulamadurumkod, askicikistarih, askiinistarih, encumentarih,
encumensayi, alan, ifraztevhidalan,

(st_dump(poly)).geom :: geometry (polygon, 5256) as poly,

aciklama, dosya, yil,
deger1, deger2
FROM uygulama.uygulama
;

create table uygulama.uygulama_multi as
select * from uygulama.uygulama
;

ALTER TABLE uygulama.uygulama_multi ADD COLUMN idd integer;

CREATE SEQUENCE uygulama.sq_tum
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

update uygulama.uygulama_multi set idd = nextval('uygulama.sq_tum')
;

ALTER TABLE uygulama.uygulama_multi ALTER COLUMN idd SET NOT NULL;
ALTER TABLE uygulama.uygulama_multi ALTER COLUMN idd SET DEFAULT nextval('uygulama.sq_tum'::regclass);

ALTER TABLE uygulama.uygulama_multi ADD CONSTRAINT pk_uygulama_multi PRIMARY KEY(idd);

delete from uygulama.uygulama_multi
;

INSERT INTO uygulama.uygulama_multi(
objectid, ilcekod, mahallekod, yapankod, kontroledenkod, uygulamatipikod,
uygulamadurumkod, askicikistarih, askiinistarih, encumentarih,
encumensayi, alan, ifraztevhidalan, poly, aciklama, dosya, yil,
deger1, deger2, idd)


SELECT objectid, ilcekod, mahallekod, yapankod, kontroledenkod, uygulamatipikod,
uygulamadurumkod, askicikistarih, askiinistarih, encumentarih,
encumensayi, alan, ifraztevhidalan,

poly,

aciklama, dosya, yil,
deger1, deger2, nextval('uygulama.sq_tum')
FROM uygulama.uygulama
;

delete from uygulama.uygulama_single
;

INSERT INTO uygulama.uygulama_single(
objectid, ilcekod, mahallekod, yapankod, kontroledenkod, uygulamatipikod,
uygulamadurumkod, askicikistarih, askiinistarih, encumentarih,
encumensayi, alan, ifraztevhidalan, poly, aciklama, dosya, yil,
deger1, deger2, idd)


SELECT objectid, ilcekod, mahallekod, yapankod, kontroledenkod, uygulamatipikod,
uygulamadurumkod, askicikistarih, askiinistarih, encumentarih,
encumensayi, alan, ifraztevhidalan,

(st_dump(poly)).geom :: geometry (polygon, 5256),

aciklama, dosya, yil,
deger1, deger2, nextval('uygulama.sq_tum')
FROM uygulama.uygulama
;

create or replace view uygulama.single_to_multi as
select distinct objectid,


(st_dump (ST_Multi(st_union(poly)) )).geom :: geometry (polygon,5256) as poly
--ST_Multi(st_union(poly)) :: geometry (MultiPolygon,5256) as poly

from uygulama.uygulama_single
group by objectid
;

update uygulama.uygulama_multi
set poly = null;

ALTER TABLE uygulama.uygulama_multi ALTER COLUMN poly type geometry(Polygon, 5256);

update uygulama.uygulama_multi um
set poly = sm.poly
from uygulama.single_to_multi sm
where um.objectid = sm.objectid
;

postgis - multipolygon tipindeki geometry kolonunu polygon tipine çevirme

ALTER TABLE uygulama.uygulama_multi ALTER COLUMN poly type geometry(Polygon, 5256);

komutu işe yarayacaktır. ancak geometry kolonunun içi boş olmalı

-- 1. tablo verisi baska bir tabloya single geometry tipiyle yedeklenir
 
create table uygulama.uygulama_single_test as
SELECT objectid, ilcekod, mahallekod, yapankod, kontroledenkod, uygulamatipikod, 
       uygulamadurumkod, askicikistarih, askiinistarih, encumentarih, 
       encumensayi, alan, ifraztevhidalan, 

       (st_dump(poly)).geom :: geometry (polygon, 5256) as poly, 


       aciklama, dosya, yil, 
       deger1, deger2, idd
  FROM uygulama.uygulama_multi
;

--2. orjinal tablonun geometry kolonu boşaltılır
update uygulama.uygulama_multi
set poly = null;

--3. geometry kolonu tipi dönüştürülür.
ALTER TABLE uygulama.uygulama_multi ALTER COLUMN poly type geometry(Polygon, 5256);

--4. single geometry halindeki geometri bilgisi yedek tablodan orjinal tabloya update edilir.

update uygulama.uygulama_multi um
set poly = sm.poly
from uygulama.single_to_multi sm
where um.objectid = sm.objectid
;


check geometry

ST_IsValidReason — Returns text stating if a geometry is valid or not and if not valid, a reason why.



kapalı alanın vertex sayısı



SELECT distinct objectid, sum(ST_NPoints(poly)) FROM public.geoplan_fonksiyon_5000
GROUP BY objectid
ORDER BY sum

substr, replace, to_date, BMK

select

s.bilgi, s.detay1

, replace("bilgi", 'BMK=', '') as bmk
, substr(replace("bilgi", 'BMK=', ''),7,4) as yil
, substr(replace("bilgi", 'BMK=', ''),4,2) as ay
, substr(replace("bilgi", 'BMK=', ''),1,2) as gun
, substr(replace("bilgi", 'BMK=', ''),12,3) as sayi
, bsmtarih
, bsmsayi


from

planbesbin.mnip_sinir s

where

s.bilgi like 'BMK=%'


--------------------

UPDATE planbesbin.mnip_sinir s
SET bsmtarih =

to_date(

substr(replace("bilgi", 'BMK=', ''),7,4) ||'-'||
substr(replace("bilgi", 'BMK=', ''),4,2) ||'-'||
substr(replace("bilgi", 'BMK=', ''),1,2)
, 'YYYY.MM.DD'
)
,
bsmsayi = cast(substr(replace("bilgi", 'BMK=', ''),12,3) as integer)

where
s.bilgi like 'BMK=%'

to_char - tarih formatı

CREATE OR REPLACE FUNCTION planbesbin.fn_bmk()
RETURNS trigger AS
$$
BEGIN

SELECT ('BMK=' || TO_CHAR(s.bsmtarih, 'DD.MM.YYYY') || '/' || s.bsmsayi )
INTO NEW.bmk

FROM
planbesbin.mnip_sinir s
,
planbesbin.mnip_cizgi c



WHERE
st_intersects (ST_StartPoint(NEW.poly), s.poly)
AND ST_Disjoint (ST_EndPoint(NEW.poly), s.poly)

AND NEW.mnip_kod = 80101 AND NEW.detay1= '1'

;
RETURN NEW;
END;
$$
LANGUAGE 'plpgsql';

----------------------


CREATE TRIGGER tg_bmk_BEFORE
BEFORE INSERT OR UPDATE ON planbesbin.mnip_cizgi
FOR EACH ROW EXECUTE PROCEDURE planbesbin.fn_bmk();


CREATE TRIGGER tg_bmk_AFTER
AFTER INSERT OR UPDATE ON planbesbin.mnip_cizgi
FOR EACH ROW EXECUTE PROCEDURE planbesbin.fn_bmk();

TRIGGER - bmk

CREATE OR REPLACE FUNCTION planbesbin.fn_bmk()
RETURNS trigger AS
$$
BEGIN

SELECT ('BMK=' || s.bsmtarih ||'/'|| s.bsmsayi)
INTO NEW.bmk

FROM
planbesbin.mnip_sinir s
,
planbesbin.mnip_cizgi c



WHERE
st_intersects (ST_StartPoint(NEW.poly), s.poly)
AND ST_Disjoint (ST_EndPoint(NEW.poly), s.poly)

AND NEW.mnip_kod = 80101 AND NEW.detay1= '1'

;
RETURN NEW;
END;
$$
LANGUAGE 'plpgsql';

----------------------


CREATE TRIGGER tg_bmk_BEFORE
BEFORE INSERT OR UPDATE ON planbesbin.mnip_cizgi
FOR EACH ROW EXECUTE PROCEDURE planbesbin.fn_bmk();


CREATE TRIGGER tg_bmk_AFTER
AFTER INSERT OR UPDATE ON planbesbin.mnip_cizgi
FOR EACH ROW EXECUTE PROCEDURE planbesbin.fn_bmk();

Piton scripting

http://darrylmcleod.com/wp-content/uploads/2016/06/Python-Scripting-for-ArcGIS.pdf



















Oracle giriş

http://yukselveysel.blogspot.com.tr/p/oracle-11g-r2-database-olusturmaknetca.html



















buffer, offset, reverse, yol kalınlık

create table planbesbin.mnip_yol_kalinlik as
select
objectid, fonksiyon, fonksiyon_tip, mnip_kod, abs(cizgikalinligi) as cizgikalinligi,
st_buffer
(
(
ST_OffsetCurve
(ST_Reverse(poly),
abs(cizgikalinligi)/2) --offset miktarı abs(cizgikalinligi)/2)
),
(abs(cizgikalinligi)/2), -- buffer miktarı
'endcap=flat join=round'
),
ST_Length (poly) as uzunluk
FROM planbesbin.mnip_cizgi
where
cizgikalinligi is not null
and ST_Length (poly) > 0
and pasif is null
;

st_buffer, abs(absolute value),

-- DROP TABLE planbesbin.mnip_cizgi_alan;
create table planbesbin.mnip_cizgi_alan
as
SELECT objectid, fonksiyon, fonksiyon_tip, st_buffer(poly, abs(cizgikalinligi), 'endcap=flat join=round') as poly, mnip_kod, cizgikalinligi,
ada_cizgikalinligi, enerjinakil_gerilim, mania_yukseklik, tunel_genislik,
yayayolu_genislik, bmk, pasif, detay1, islem, detay2
FROM planbesbin.mnip_cizgi
where cizgikalinligi is not null
;

alan tipini değiştir

ALTER TABLE planlama.uip ALTER COLUMN objectid TYPE integer USING (objectid::integer);
ALTER TABLE public.uygulama ALTER COLUMN ncgeomvali TYPE integer USING (ncgeomvali::integer);
ALTER TABLE public.uygulama ALTER COLUMN alan TYPE integer USING (alan::integer);

spatial trigger

kaynak:
http://gis.stackexchange.com/questions/49252/postgis-trigger-doesnt-work

---------------------------------------------
CREATE OR REPLACE FUNCTION fn_ilceadi()
RETURNS trigger AS
$$
BEGIN

SELECT i."ADI"
INTO NEW.ilce
FROM admin."KBBSILCE" i
WHERE ST_Intersects(st_centroid(NEW.poly), i.poly);

RETURN NEW;
END;
$$
LANGUAGE 'plpgsql';


---------------------------------------------

CREATE TRIGGER tg_ilceadi
BEFORE INSERT OR UPDATE ON planbesbin.mnip_alan
FOR EACH ROW EXECUTE PROCEDURE fn_ilceadi();

spatial trigger

CREATE OR REPLACE FUNCTION fn_ilceadi()
RETURNS trigger AS
$$
BEGIN

SELECT i."ADI"
INTO NEW.ilce
FROM admin."KBBSILCE" i
WHERE ST_Intersects(st_centroid(NEW.poly), i.poly);

RETURN NEW;
END;
$$
LANGUAGE 'plpgsql';

----------------------


CREATE TRIGGER tg_ilceadi
BEFORE INSERT OR UPDATE ON planbesbin.mnip_alan
FOR EACH ROW EXECUTE PROCEDURE fn_ilceadi();

ST_SymDifference

http://postgis.net/docs/ST_SymDifference.html

st_difference

http://postgis.net/docs/ST_Difference.html

ST_Force_2D(poly)

select ST_Force_2D(poly) from admin.bmk_union_point

st_makeline

create table admin.line as
SELECT
grup_id,
ST_MakeLine(poly) AS poly
FROM admin.bmk_point
where grup_id is not null
GROUP BY grup_id
;

alan hesapla, st_area

select a.alan, round(st_area((poly::geometry))::numeric,3) from planbesbin.mnip_alan a


update planbesbin.mnip_alan a
set alan = (st_area((poly)))

hem geometrik hem de ortak kolonlu 3 tablo sorgu

SELECT
distinct (i."ADI", p.mnip_kod, k."TABLENAME", k."DOMAINNAME", k."VALUE"), count (*), sum(st_area(p.poly))
FROM
planbesbin.mnip_alan p, admin."KBBSILCE" i, planbesbin.mnip_kod k
WHERE
st_intersects(st_centroid(p.poly), i.poly)
and k.mnip_kod = p.mnip_kod
group by (i."ADI", p.mnip_kod, k."TABLENAME", k."DOMAINNAME", k."VALUE")
order by (i."ADI", p.mnip_kod, k."TABLENAME", k."DOMAINNAME", k."VALUE")

centroidi içine düşen poligonun bilgisini aldırma, st_centroid, geom

update planbesbin.mnip_alan p
set mahalle = m."ADI"
from admin."KBBSMAHALLE" m
where st_intersects(st_centroid(p.poly), m.poly)

netcad indirme

Labels - Etiketler

3D (14) 3D Analyst (5) 3D Studio Max (2) ABD (2) About building an SQL expression (1) Access (4) Adding hyperlinks to features (1) Adding OLE DB connections (1) administrative areas (1) Adobe (1) Adobe illustrator (1) Adobe Reader (1) Adobe Reader Analysis Tool (1) aggregate (1) Aggregate Polygons (2) An overview of ModelBuilder (1) An overview of writing geoprocessing scripts (2) analysis (2) Append (4) ArcCatalog (1) ArcGIS (63) ArcGIS 9.3 Map Export PDF (2) ArcGIS Mobile (1) ArcGIS Server (9) ArcGIS Server 9.3 Web Help (1) Arcgis Server 10 (2) Architectural (1) arcscene (3) arcscripts (5) ArcSDE (1) Arcview (1) Arcview ile kml yi shp ye dönüştürme (1) AutoCAD (2) AutoVue (1) Bina Verisini Düzenlerken (2) bölme (1) CAD (3) CAD/GIS (87) calculate (1) canada data (2) CenterPoint (1) Chicago (2) CityEngine (1) CitySurf (5) clip (1) Common line editing tasks (1) Common polygon editing tasks (1) Contour (1) Create Node (1) çevreleyenden bilgi al (2) database (1) Database Browser (1) date (1) definition query (1) demicron (1) Dissolve (1) download (6) dünya (1) dwg (1) Eğim Analizi (1) Eliminate (1) English (67) Erciyes (4) error (1) Esri (2) Eşyükselti (1) etiket (1) Excel (4) export (1) expression (2) Flip (Çizgi Yönünü değiştirir) (2) Free GIS Software (1) freeWRL (2) fwtools (1) fwtools ile kml ve shp arası dönüşüm (1) FWTools Shell (1) Geomedia (14) Geoprocessing Quick Guide (1) geoserver (3) geoserver kurulumu (1) geoserver labeling (2) geoserver labeling not supported with qgis (1) Geoyol u düzenlerken (1) GIS Data (2) GIS Data of America (2) Glonet (1) google (1) group by (1) halihazır (1) hidroloji (1) How Import from CAD (Conversion) works (1) html (1) hydrology (10) hyperlink (1) hystorical GIS (1) ilk karakteri silen sql (1) insert (2) intersect (1) İzohips (1) java (2) kml (2) kml to shp (3) konya (1) label (2) line editing (1) Link (1) links (40) M and Z Values (3) MapBuilder (1) Maplex Label Engine (1) Maps (1) MapShaper (1) Max (1) MBR (1) mdb (1) Mekansal Analiz (1) merge (1) Mimari (1) Mobile (1) multi Geometry (3) multipart to single part (1) multipoint (1) NetCAD (19) netcad Network Lisans İzleyicisi (1) Netcad Program No (1) Netcad TILE (1) NetCAD to Oracle Spatial (5) NetCAD ve ArcGIS farkı (3) netcadde wms oluşturmak için workspace export (1) netgis (1) netgis server (1) Network Analyst (3) Node (1) ObjectID kolonu problemi (1) online wms viewer (1) Oracle (16) Oracle Spatial (3) Oracle veri tabanının yeniden başlatılması (1) output mode (1) Parcel (2) Parcel Editor (1) parsel (1) pdf (3) pdf i html ye dönüştürme (1) pdftohtml (1) PHP (1) point (1) PostGIS (30) Postgresql (8) Postgresql otomatik yedek alma (1) Projection (1) Pyton (1) Raster (2) register (1) Rename (1) RepairGeometry (1) replace (2) Routing (1) sdelayer (1) Select by Location: graphical examples (1) server (1) shape viewer (2) shp (7) shp2sdo (1) single Geometry (3) sld (1) snap (1) social explorer (1) sonra eklenecek (1) Spatial Join (Analysis) (2) spatialanalysisonline (1) Split Line at Vertices (Data Management) (ArcInfo only) (1) Sql (48) SQL reference (1) SRID (1) su yatakları (1) subst (1) subtract (1) sum (1) synchronize (1) Şehir ve Bölge Planlama (1) tablo (1) tablodan tabloya veri aktarma (1) terrain (1) Texas (2) time (1) tin (3) tin edit (1) topology (5) Topology check (2) Traffic Simulation (1) Trafik (1) Transform (1) trim (1) Ulaşım (1) Ulaşım Planlama (1) union (1) Union ve Merge (1) Unregister As Versioned (1) update (2) UrbanSim (1) veri (2) Vermont (1) Versioning (2) vertex lere nokta atar (1) video (17) WFS (2) wirefusion (1) wms (3) wmware (1) wmx (1) Working with Microsoft Access files in ArcGIS (1) Working with Microsoft Excel files in ArcGIS (1) world (1) wrl (1) yol (2) yol kırma (2) Yol Uzunluk (2) yolkır (1) Z değeri edit (1)