Documente Academic
Documente Profesional
Documente Cultură
POSTGRESQL /
POSTGIS
I
I
2013
2013
POSTGRESQL
Informacin en un SIG
ipos de fuentes
Datos espaciales
Estructuracin
Geometra
Relaciones espaciales
Base de datos
Estructuracin
&dministracin
%unciones espaciales
Introduccion
Tolerancia a fallos
(0SQL 788H
Post"reSQL 78C9
I( DI 78CD
Oracle
6
Oracle J Oracle Corporation 78CD
6 5a*er*eta J Relational SoftBare 78AA
Preliminar
Oracle Spatial
7889 SDO
788C Spatial
Componentes
(er"idor
Base de datos
*a0la
Columnas o atri0utos
Cndices y !la"es
Distas
Disparadores 6*riggers8
Operadores
*ipos de datos
Post"reSQL
Post"reSQL
Documentacin
TamaGo m>;imo para una *ase !e !atos4 sin limites +e;isten *ases
!e !atos !e DI T-
&lmacenamiento fsico.
Garantizar su consistencia.
Garantizar su integridad.
&tomicidad transaccional.
#rocesamiento espacial
7 Comparaciones logicas
7 Constructores geograficos
P.pP"#!minM en entorno
Be*'
Post"reSQL
CO$SOL#
Post"reSQL
P.pP"#!min
Post"reSQL
PG#D(I$ III
Post"reSQL
Post"reSQL
Caracter3sticas
Esta*ili!a! 0 confia*ili!a!
E;tensi*le
(ultiplataforma
Caracter3sticas
Consultas 0 su*consultas
Caractersticas
F DBMSObjeto-Relacional
Caractersticas
F AI!lexible
(oportado por; <a"a 6<DBC8$ ODBC$ #erl$ Ru0y$ C$ CJJ$ #I#$ !isp$
(c1eme$ G*$ etc.
Post"reSQL
Post"reSQL
Caracter3sticas
Direcciones (#C'
#rre"los +#rra0s-'
#!emas los usuarios pue!en crear sus propios tipos !e !atos/ los que
pue!en ser por completo in!e;a*les "racias a la infraestructura GiST
!e Post"reSQL' Por e1emplo los tipos !e !atos GIS crea!os por el
pro0ecto PostGIS'
Post"reSQL
Post"reSQL
Otras Caracter3sticas
La frecuencia !e la e1ecucin
Otras Caracter3sticas
Uso !e ,istas'
Inte"ri!a! transaccional'
Nerencia !e ta*las'
Requerimientos
S#T#4 para *ases !e !atos mu0 "ran!es/ pero con no mu0 altos
requerimientos !e accesos a los mismos/ usar sistemas con
%ournalin" +e;tE por e1emplo- para minimi6ar los ries"os !e cai!as'
Post"is
#rocesos #rioritarios
F Copias de (eguridad
F Replicas
F Optimizacin
F Control de grupos y usuarios
&cciones
F Creacin de una 0ase de datos
F Creacin de ta0las
F Definicin de !la"es$ Indices y relaciones
F Definicin de Distas
F Consultas de datos
F Creacin de Disparadores 6triggers8
F Creacin de #rocedimientos &lmacenados o funciones
6(tore procedure8
Post"reSQL
Post"reSQL
Copias de (eguridad
F BacKup
Replicas
F Directas. )ediante indicaciones a la Base de datos o
*a0las o Campos especficos
F Indirectas. )ediante procedimientos y Disparadores.
Post"reSQL
Post"reSQL
Optimizacin
F )e5orar el modo de organizacin fsica de los datos
definiendo los parametros en el arc1i"o
postgres.conf
F Re"isar las relaciones entre las ta0las
F ReInde'ar los datos
Lsuarios y Grupos
F Creacin de usuarios y grupos
F Identificacin de los pri"ilegios de los grupos
Se"uri!a!
Se"uri!a!
Grupos4
(ane1o !e Grupos
Post"reSQL
Post"reSQL
(ane1o !e Usuarios
E1emplos4
Creacin
(o!ificacin
Eliminacin
(ane1o !e Pri&ile"ios
)odos;
GR&7* O7 (EGLE7CE ..
GR&7* O7 D&*&B&(E ..
GR&7* O7 %L7C*IO7 ..
GR&7* O7 !&7GL&GE /
GR&7* O7 (CIE)& /
GR&7* O7 *&B!E(#&CE /
E5m;
BBsico
F Creacin de una 0ase de datos
F Creacin de un sc1ema 6o usar public8
F Creacin de ta0las y sus columnas
F Inde'ados
6
E5emplo;
CRE&*E *&B!E par=ues
6 OOgid serial 7O* 7L!!$ nom0Op= c1aracter "arying$
cenOpo0 c1aracter "arying$ areaOp= dou0le precision$
o0ser"acion c1aracter "arying$ u0igeo c1aracter "arying$
CO7(*R&I7* par=uesOpKey #RI)&RP QEP 6OOgid8
AI*I 6 OID(R*RLE 8M
&!*ER *&B!E par=ues OA7ER *O postgresM S, permisos
Post"reSQL
Post"reSQL
Insertar !atos
F I$SERT I$TO ta*la V+attr7/ '''attr$-W
,#LUES +e;pr7/''e;pr$- X SELECT VDISTI$CT VO$ attr$WW e;pr7/
'''e;pr$ V5RO( ta*laW V)NERE con!icinW VGROUP Q listaW VN#,I$G
con!icinW V Y U$IO$ V#LLW X I$TERSECT X EZCEPT [ SELECT '''WT
F E1emplo
I$SERT I$TO lotes ,#LUES +%uan Pere6R/ E9/ KH/ H'IK/ R77/IA/788ER-T
#ctuali6acion !e !atos
F UPD#TE lotes SET esta!o F <malo=T
F UPD#TE pro!uctos SET precio F precio \ 7'7HT
F UPD#TE lotes SET esta!o F <malo=/ factor F factor M I
WHERE fecha > '11/28/2006'T
F UPD#TE 6onas SET a F K/ * F D/ c F 7 WHERE a >
0;
Eliminacin !e !atos
F DELETE 5RO( lotesT
F DELETE 5RO( lotes WHERE zona = 4BT
F DELETE 5RO( lotes WHERE area <= 10T
Post"reSQL
Post"reSQL
Consultas
F SELECT li!a"#e"ca$%o 5RO( !a&la [criterios]
Vin#icacione"#e"or#ena$ien!oW
F SELECT li!a"#e"ca$%o 5RO( !a&la' !a&la1'!a&la2' ()
[criterios_de_enlace_y_seleccin]
Vin#icacione"#e"or#ena$ien!oW
F E1emplo consultas simples
Con!icines +).ere-
F Retorna un &alor l"ico
#"rupamientos
F SELECT co!i"o 5RO( lotes )NERE !eu!a F +SELECT
ma;+!eu!a- 5RO( rentas-T
F SELECT 6ona/ ma;+altura- 5RO( lotes GROUP Q 6onaT
Post"reSQL
Post"reSQL
,istas
Transacciones
Estructura4
EGI$
MMMMM operaciones MMMM
CO((IT / ROLL#CP
Transacciones
Se pue!en !eclarar parametros !e entra!a +I$-/ sali!a +OUT- o !e entra!a 0 sali!a +I$OUT-
CRE#TE OR REPL#CE 5U$CTIO$ funcion7 +te,to(-ia &arc.ar/ OUT nom.re &arc.ar/ OUT
tio &arc.ar- RETUR$S recor! as
aa
EGI$
tio 4F su*str+te,to(-ia/7/D-T
nom.re 4F su*str+te,to(-ia/E/DH-T
E$DT
aa L#$GU#GE plp"sqlT
CRE#TE OR REPL#CE 5U$CTIO$ funcionI +te;toO&ia &arc.ar- RETUR$S inte"er #S
aa
DECL#RE
nom*re &arc.arT
tipo &arc.arT
!atos recor!T
EGI$
SELECT \ I$TO nom*re/tipo from funcion7+te;toO&ia-T
R#ISE $OTICE Rtipo !e &ia es4]R/tipoT
R#ISE $OTICE R$om*re !e la &ia es4]R/nom*reT
RETUR$ 7T
E$DT
aa L#$GU#GE plp"sqlT
Se prue*a me!iante4
SELECT funcionI+R#,' %#,IER PR#DOR-T
Dispara!ores +Tri""ers-
6
Definicion !el !ispara!or
7 CRE#TE TRIGGER tri"OmencomOultO!ist
E5ORE I$SERT OR UPD#TE
O$ mo&ilsat'car!OlastO!ata
5OR E#CN RO)
)NE$ +$E)'\ IS DISTICT 5RO( OLD'\- b solo en 8';
EZECUTE PROCEDURE mo&ilsat't"O!istrito+-T
REGL#S +RULES-
.-'$!:-E4#;E I$ 78/E9'
Similitu! P$$
#ntes se o*ten3a la lista !e nom*res por ca!a enti!a! pero en forma !esor!ena!a
#.ora
DO lan"ua"e plp"sql aa
DECL#RE
&r recor!T
EGI$
5OR &r I$ SELECT ta*lename 5RO( p"Ota*les )NERE ta*leoBner F
RconsultaR
#$D sc.emaname $OT I$ +Rp"Ocatalo"R/RinformationOsc.emaR-
LOOP
EZECUTE RGR#$T #LL O$ R XX &r'ta*lename XX R TO a!ministRT
E$D LOOPT
E$D
aaT
Post"reSQL 8'Z
SELECT test+7/Rta*laR-T
%oins Laterales
Post"reSQL 8'Z
Replicas
Etc'
Que es )#L
Streamin"MOnl0 Remasterin"
#rc.itectureMin!epen!ent streamin"
#LTER _
DROP '''
Post"reSQL 8'Z
Post"reSQL
Post"reSQL
%i!ara"ore! "e )olumna!4 Se e1ecutan cuan!o una o mas columnas !efini!as por
el usuario se actuali6an' Con este tipo !e !ispara!ores nos a.orraremos el tener que
utili6ar la l"ica con!icional 0 comparacin !e &alores en las funciones usa!as por
nuestro !ispara!or/ como se .a teni!o que .acer en las &ersiones pre&ias'
JMMMMMMMMM
Se usa en4
Geolocali6acion optima
Clasificacin
Similitu!
similarit0+te;to7/te;toI-
Te;to7 `M^te;toI
Te;to7 ] te;toI
Ran"e
E1emplo 74
Ran"e
E1emplo I4
E1emplo D4
Recursi&e ,ieBs
#ctuali6acion !e &istas
7MS J +)e* (ap Ser&ice-' Crea!o por OGC' Permite trasla!ar +por
Internet- el mapa como ima"en 0 las ocnsultas respecti&as'
In!e;a!o espacial
5unciones espaciales
Con1unto De Ta*las
Con1unto De 5unciones
Con1unto De Tipos
(0Sql
Tera!ata
Esta en !esarrollo
Ai!lamiento *I!olation+' #se"ura que ase"ura que una operacin no pue!e afectar
a otras/ !e ese mo!o la reali6acion !e !os transacciones so*re la misma
informacion sean in!epen!ientes 0 no "eneren nin"un tipo !e error'
#lto ren!imiento
Recuperacin !e ca3!as
Copias !e se"uri!a!
Replicacin
Soporte SQL
Post"is
#rquitectura
Li*lB"eom
Pro1E
GEOS
PostGis
E;tension
POSTGRESQL
Li*Z(LI
GD#L
Post"is
#rquitectura
Instalar Post"reSQL
Instalar Post"is
)P )ellMPnoB inar0
POI$T
LI$ESTRI$G
POLQGO$
(ULTIPOI$T
(ULTILI$ESTRI$G
(ULTIPOLQGO$
GEO(ETRQCOLLECTIO$
Tipo !e O*1etos Geo"r>ficos
+)P 0 )PT-
Geometria
(patial
Reference
Id 6(RID8
#oint Cur"e (urface
Geometry
Collection
!ine(tring #olygon
)ultipoint )ulticur"e )ultisurface
)ultipolygon
Geometry
)ultilinestring
Tipo !e O*1etos Geo"r>ficos
+E)P 0 E)PT-
POI$T +H H H- J ZQc
POI$T+H H H H- MMZQc(
SI las !os
"eometr3as
tienen las
mismas
coor!ena!as
que !efinen su
forma'
Relaciones espaciales
SI la
interseccin !e
las !os
"eometr3as no
resulta en nulo'
Relaciones espaciales
Es lo opuesto a
interseccion'
Relaciones espaciales
Si las !os
"eometr3as se
cru6an' Se aplican
a4
multipoin0/pol0"on/
multipoint/linestrin"
/
linestrin"/linestrin"/
linestrin"/poli"on 0
linestrin"/pol0"on'
Relaciones espaciales
Compara !os
"eometr3as !e
una misma
!imensin/ si se
traslapan o
superponen'
Relaciones espaciales
Compara !os
"eometr3as que
se tocan en sus
*or!es 0 no en su
interior'
Relaciones espaciales
Compara !os
"eometrias si la
primera es
conteni!a /
contiene a la
se"un!a'
Relaciones espaciales
Compara si la
se"un!a
"eometr3a esta
!entro !e una
!istancia !e la
primera'
5ormato !e la "eometr3a )PT +)ell @noB te;t- 0
)P +)ell @noB inar0-
POINT*;7 07+
E1emplo )PT4
POINT*H H+
M6LTIPOINT*H H/ 7 7I+
M6LTIPOL&GON*++H H/E H/E E/H E/H H-/+7 7/I 7/I I/7 I/7 7--/**/B /BA/B /CA/C /CA/
C /BA/B /B--+
E1emplo )P4
DBDBDDDDDDDDDDDDDDDDDD5DE5DDDDDDDDDDDD5DE5
DBDEDDDDCDCEF5DDDDDBDDDDDDDGDDDDDDCAHBDIBJHB5CBDKB%FF%K%IE
BCIJJDKBAA%DBDFHAK5CBDKBJ5GFE%AGBIIJJDKBHFBGHCFHIC5CBDKBE
GJBECIHBIIJJDKBKAIAIE5JFH5CBDKBAFBHKBJFBCIJJDKBCAHBDIBJHB
5CBDKB%FF%K%IEBCIJJDKB
,#LIDEc DE LOS O%ETOS ESP#CI#LES
6LINESTRING Validos (a) y (c) Invlidos (b) y (d)
6MULTILINESTRING Vlidos (e) y (f) Invlidos (g)
6POLGON Vlidos (!) y (i)
6MULTIPOLGON Vlido (l) y (")
a
c d
b
e g f
0
i j
1
l m
POSTGIS M GEOGR#PNQ
E1emplo4
SELECT STODistance+
STOGeo"rap.05romTe;t+RPOI$T+M77C'EHA8 DD'8EDE-R-/ MM Los #n"eles +L#Z-
STOGeo"rap.05romTe;t+RPOI$T+I'KKK8 E8'HHCD-R- MM Paris +CDG-
-T
J Con&ertir a "eometria
SELECT co!/ STOZ+"eo"44"eometr0- #S lon"itu! 5RO( "psOposT
POSTGIS
Ta*las (eta!atas
F SPATIAL(RE5(S&S
,istas
Tipos
Raster
,istas
RasterOColumns
RasterOO&er&ieBs
Sc.eme
Topolo"0
Ta*la la0er
Ta*la topolo"0
Post"reSQL M Post"is
N+U4+.:4-44344+NMN4+4.4444-4CE9%44444+444444:%444444B2U9D2D2&3B&+-T+E%U
94-4%-39U34T+43C+D3CB&9B&+-T+UC%+3UTU-39U34T+3T.BD%T%&:B&+-T+-2UC:%3-
-39U34T+CU-4B4%-&&B&+-T+3DE9%BBU-39U34T+93U+T4EB&CB&+-T+3T4T93E+-39U3
4T+-4&39&C%&DB&+-T+.DD34&%U-39U34T+:.DEB:+4B-B&+-T+BB-EBU.C-99U34T+..
.N
N+U4+.:4-44344+NMN#O!PGO766.43:U9.9+-9T.+U2
:3-:U-:.T324.349$.43:U9.2T243+T42 :3-:U.4.+3:32T+2$.43:U:.49:
:3-:U.+.4:$.43:U:.9.9 :3-:U...3:9$....88N
Post"reSQL M Post"is
Consultas simples
SE"EC& +ostgis'f#ll'%ersion456
E5emplo;
Consultas simples
Consultas Simples
MM consulta
STOZ+"eometr3a-
STOQ+"eometr3a-
STOc+"eometr3a-
STO(+"eometr3a-
Lineas
Consultas Simples
Puntos
Lineas
SELECT STOLen"t.+"eometria-/STOStartPoint+"eometria-/
STOEn!Point+"eometria-/ STO$Points+"eometria-
5RO( tmp'"eometrias )NERE nom*re F RLineaRT
#ccesan!o componentes !e la
#ccesan!o componentes !e la
"eometria
"eometria
# Poli"ono
Consultas Simples
Poli"onos
Coleccion !e Geometrias
5unciones !e sali!a
co!ifica!o
)PT
Geo%SO$
SELECT STO#sTe;t+STOGeom5romGeo%SO$+RY?t0pe?4?Point?/?coor!inates?4
V7/7W[R--T
Post"reSQL M Post"is
5unciones !e sali!a
G(L
SELECT
STO#sTe;t+STOGeom5romG(L+R`"ml4Point^`"ml4coor!inates^7/7`/"ml4coo
r!inates^`/"ml4Point^R--T
P(L
SELECT STO#sP(L+STOGeom5romTe;t+RPOI$T+MAI'99KDI
M7I'IDIEKI-R/EDI9--T
SELECT STO#sTe;t+STOGeom5romP(L+R`Point^`coor!inates^M
AI'99KD7888888888E/M7I'IDIEKI`/coor!inates^`/Point^R--T
SELECT STO#seB@t+STOGeom5romP(L+R`Point^`coor!inates^M
AI'99KD7888888888E/M7I'IDIEKI`/coor!inates^`/Point^R--T
s&"
SELECT STO#sS,G+STOGeom5romTe;t+RPOI$T+MAI'99KDI
M7I'IDIEKI-R/EDI9--T
Post"reSQL M Post"is
5unciones !e sali!a
SELECT H'844te;tT
Consultas comple1as
E1emplos
SELECT man6ana/sum+stOarea+"eometria--/7HHHH as
.ectarea 5RO( lotes B.ere STOD)ITNI$+"eometria/
STOGEO(5RO(TEZT+RPOI$T
+IACCKC'7877A9HCKAD C9K87DD'87HC9D7HK-R-/7HH-
GROUP Q (#$c#$#
Post"reSQL M Post"is
-peradores espaciales
F 88 Indica c#ado dos geometras se trasla+an
F 9: Indican si dos geometras son id;nticas
F : Indica c#ando dos geometra son ig#ales
F Ejem<
El in!e;a!o espacial
$o se utili6a siempre !e forma autom>tica en una
comparacin u operacin espacial'
7
De*i!o a la naturale6a rectan"ular !e los 3n!ices RM
Tree +que es *ase !el Gist !el post"is-/ los 3n!ices
espaciales slo reali6an comparaciones !e ca1a
+*oun!in" *o;-' Por ello/ casi to!as las *ases !e
!atos espaciales implementan la seleccin espacial
en !os fases4
6 2sque!a in!e;a!a por ca1a/ so*re to!a la ta*la '
6 2sque!a espacial !e elemento a elemento/ tenien!o
en cuenta to!a su "eometr3a'
Post"reSQL M Post"is
Post"reSQL M Post"is
El in!e;a!o espacial
7 En Post"is la primera fase !e la *usque!a la reali6a el
opera!or ee' #l i"ual que el si"no F si"nifica i"ual a/ el
s3m*olo ee si"nifica traslapan las ca1as'
7 La "ran ma0or3a !e coman!os !e PostGIS utili6an por
!efecto el opera!or ee/ por e1emplo STOIntersects o
STOD)it.in'
7 E;iste para ca!a una !e estas funciones/ la misma &ersin
que no utili6a la in!e;acin espacial4 son las que empie6an
con O +OSTOIntersects +-/ etc'-' Por e1emplo/ la !efinicin !e
la funcin STOIntersects +- es realmente una funcin !e
SQL que reescrita la consulta en t:rminos !e una
operacin in!e;a!a +ee- 0 una funcin no in!e;a!a'
Post"reSQL M Post"is
Post"reSQL M Post"is
Prue*as con sentencias in!e;a!as 0 sin usar in!ice
(as eficiente
7 e,lain analy!e select stOintersection+l'"eometria/r'"eometria- from lotes l/ retiros r
83ere !t(inter!e)t!*l4geometriaAr4geometria+
En el !ialo"o4
Tipos !e !atos
o;I!
o;D!
Geometr0O!ump
Un tipo !e !ato espacial con !os campos4 5eo$ 0 %a!h/ usa!o "eneralmente
por la funcion +:"D-$%25eo$e!ria4 para "eometrias comple1as +multis/ tin/
compun!cur&e/ pol0.e!ral/ etc'-/ es mu0 usa!o en las funciones raster'
Geometr0
Geo"rap.0
#!ministrati&as
#!!Geometr0Column
#!ministrati&as
DropGeometr0Column
DropGeometr0Column+Rpu*licR/ RlotesR/
R"eometriaR-T
#!ministrati&as
DropGeometr0Ta*le
DropGeometr0Ta*le+&arc.ar ta*leOname-T
#!ministrati&as
PostGISO5ullO,ersion
SELECT Post"isO5ullO,ersion+-T
PostGISOGEOSO,ersion
PostGISOLi*Z(LO,ersion
PostGISOLi*Ouil!ODate
PostGISOLi*O,ersion
PostGISOPRO%O,ersion
Post"isO,ersion
#!ministrati&as
PopulateOGeometr0OColumns
E1m4
7 select PopulateOGeometr0OColumns+-
7 select PopulateOGeometr0OColumns+RlotesR44re"class-
Scans to!as las ta*las con PostGIS "eometr0 constraints 0 los a"re"a
a la ta*la 5eo$e!r/"col-$n si no est>n re"istra!os +las &istas !e*en
re"istrarse manualmente-'
Up!ateGeometr0SRID
Constructores
STO!Pol05romTe;t
STO!(Pol05romTe;t
STOGeo"5romTe;t / STOGeo"rap.05romTe;t
STOGeo"5rom)P
STOGeomColl5romTe;t
Constructores
STOGEO(5RO(E)P / STOGEO(5RO(E)PT
E1em4
SELECT STOGeom5romE)PT+RSRIDFEDI9TLI$ESTRI$G+MA7'79HIC7
EI'IKCAI8/MA7'79HCDA EI'IK877D/MA7'7977EE EI'IK8DI-R-T
SELECT STOGeom5romE)PT+RSRIDFEI98T(ULTILI$ESTRI$G++MA7'79HIC7
EI'IKCAI8/MA7'79HCDA EI'IK877D/MA7'7977EE EI'IK8DI--R-T
STOGeom5romTe;t /STOGeometr05romTe;t
E1em4
Constructores
STOGeom5romG(L / G(LToSQL
STOGeom5romP(L
STOGeom5rom)P
STOGeom5rom%SO$
Constructores
STOLine5rom(ultiPoint
SELECT
STOLine5rom(ultiPoint+STOGeom5romE)PT+R(ULTIPOI$T
+7 I D/ E K 9/ A C 8-R--T
STOLine5romTe;t
STOLine5rom)P
STOLinestrin"5rom)P
Constructores
STO(a@eo;ID
Crea un o*1eto OZID !efini!o por !os puntos !e los &ertices o puestos' E1m4
STODD(a@eo;
Crea un o*1eto OZDD/ !efini!o por los puntos !e los &ertices opuestos' E1m4
7 SELECT STO(a@eo;DD+STO(a@ePoint+M8C8KHI'7CAK/ KICED8'K9IK/ 7H-/
STO(a@ePoint+M8CA7I7'DAK /KI88DD'7CAK/ 7H-- #s a**D!
Post"is M 5unciones
Post"is M 5unciones
Constructores
ST(Ma2eLine
6 Crea un o*1eto Linestrin" !e una "eometria !e puntos'
7 ST(Ma2eLine+"eometr0 set pointfiel!-T
7 ST(Ma2eLine+"eometr0 point7/ "eometr0 pointI-T
7 ST(Ma2eLine+"eometr0VW pointOarra0-T
6 E1em4
7 M Lectura !e los re"istros !e una ta*la con !atos !el GPS
7 SELECT "ps'"psOmensa1e/ STO(a@eLine+"ps'"eometria ORDER Q
"psOfec.a- #s neB"eom 5RO( "psOpuntos as "ps
GROUP Q "ps'"psOmensa1eT
7 M !a!o !os puntos
7 SELECT STO#sTe;t+STO(a@eLine+STO(a@ePoint+7/I-/
STO(a@ePoint+D/E---T
7 M !a!o !os puntos con c
7 SELECT STO#sE)PT+STO(a@eLine+STO(a@ePoint+7/I/D-/
STO(a@ePoint+D/E/K---T
7 M !e un arre"lo !e puntos
7 SELECT STO#sE)PT+STO(a@eLine+#RR#QVSTO(a@ePoint+7/I/D-/
STO(a@ePoint+D/E/K-/ STO(a@ePoint+9/9/9-W--T
Post"is M 5unciones
Post"is M 5unciones
Constructores
STO(a@eEn&elope
STO(a@ePol0"on
SELECT STO(a@ePol0"on+STO#!!Point+foo'openOline/
STOStartPoint+foo'openOline--- 5RO( + SELECT
STOGeom5romTe;t+RLI$ESTRI$G+AK'7K I8'KD/AA I8/AA'9 I8'K-R- #s openOline-
#s fooT
SELECT STO(a@ePol0"on+STOE;teriorRin"+STOuffer+foo'linea/7H--/
#RR#QVSTOtranslate+foo'linea/7/7-/
STOE;teriorRin"+STOuffer+STOma@ePoint+IH/IH-/7--W
- 5RO( +SELECT STOE;teriorRin"+STOuffer+STO(a@ePoint+7H/7H-/7H/7H--
as linea- as fooT
Post"is M 5unciones
Post"is M 5unciones
Constructores
STO(a@ePoint / STOPoint
STO(Line5romTe;t
STOPoint5romTe;t
STOPoint5rom)P
STOPol0"on
Constructores
STOPol0"on5romTe;t
E1em4
SELECT STOPol0"on5romTe;t+RPOLQGO$++M
A7'7AA9KCKHKI87A EI'D8HI8H8AD8KA7/MA7'7AA9CIHI9CC99
EI'D8HDAH7AEDID8/ MA7'7AA9H9DH7IK8K EI'D8HDCIK99HAKE/M
A7'7AAKCI9KCDHC7 EI'D8HDHDD9KDKD7/MA7'7AA9KCKHKI87A
EI'D8HI8H8AD8KA7--R/EDI9-T
STO)PTToSQL
#ccesorios'
7 Geometr0T0pe
6 (uestra el tipo !e "eometr3a como un te;to 4 RLI$ESTRI$GR/ RPOLQGO$R/ R(ULTIPOI$TR/
etc' Ini!ca cuan!o la "eometr3a tiene el !ato ( +( !imensional-
STOCoorDim
6 Retorna la !imension !e la "eometr3a'
STOoun!ar0
6 Retorna el *or!e +frontera- !e una "eometria'
7 SELECT STO#sTe;t+STOoun!ar0+STOGeom5romTe;t+RLI$ESTRI$G+7 7/H H/ M7 7-R---T
8 Retorna4 (ULTIPOI$T+7 7/M7 7-
7 SELECT STO#sTe;t+STOoun!ar0+STOGeom5romTe;t+RPOLQGO$++7 7/H H/ M7 7/ 7 7--R---T
8 Retorna4 LI$ESTRI$G+7 7/H H/M7 7/7 7-
7 SELECT STO#sE)PT+STOoun!ar0+STOGeom5romE)PT+RPOLQGO$++7 7 7/H H 7/ M7 7 7/ 7 7
7--R---T
8 Retorna4 LI$ESTRI$G+7 7 7/H H 7/M7 7 7/7 7 7-
ST(En"Point
6 Retorna el ultimo punto !e una "eometria tipo LI$ESTRI$G como un POI$T/ cualquier otro
retorna un &alor nulo'
STOEn&elope
6 Retorna la ca1a que cpntiene a la "eometr3a +oun!s-/ como un pol3"ono'
Post"is M 5unciones
Post"is M 5unciones
#ccesorios
STOE;teriorRin"
6 Retorna un linestrin" que representa el e;terior !e una "eometr3a POLQGO$' #
!iferencia !e STOOU$D#RQ este retorna $ULL si la "eometr3a no es un pol3"ono
STOGeometr0$
6 Retorna la RnR "eometr3a !e un GEO(ETRQCOLLECTIO$/ (ULTIPOI$T/
(ULTILI$ESTRI$G/ (ULTICUR,E o (ULTIPOLQGO$' En cualquier otro caso/ retorna
$ULL'
STOGeometr0T0pe
6 (uestra el tipo !e "eometr3a como un te;to RSTOLineStrin"R/ RSTOPol0"onR/ etc'
STOInteriorRin"$
6 Retorna el <n= linestrin" rin" !el interior !e una "eometr3a pol3"ono Retorna $ULL si la
"eometria no es un poli"ono o la posicion n esta fuera !e ran"o'
STOIsClose!
6 Retorna TRUE si el punto inicial 0 el punto final !e un LI$ESTRI$G coinci!en'
STOIsCollection
6 Retorna TRUE si la "eometr3a es (ULTI\ o un GEO(ETRQCOLLECTIO$4
Post"is M 5unciones
Post"is M 5unciones
#ccesorios
STOIsEmpt0
6 Retorna true si la "eometr3a esta &ac3a E1em4 SELECT
STOIsE(pt0+STOGeom5romTe;t+RGEO(ETRQCOLLECTIO$ E(PTQR--'
STOIsRin"
6 Retorna TRUE si el LI$ESTRI$G es cerra!o 0 simple'
STOIsSimple
6 Retorna +TRUE- si la "eometr3a no tiene anomal3a/ como coor!ena!as mas !a!as/
interseccin consi"o mismo/ etc'
STOIs,ali!
6 Retorna true si STOGeometr0 esta correctamente forma!a'
STOIs,ali!Reason
6 Retorna un te;to !escripti&o si una "eometr3a es &ali!a o no/ un par>metro opciones es
un 5L#G que pue!e ser 7 +Interseccin consi"o mismo forman!o .uecos-'
STOIs,ali!Detail
6 Retorna el !etalle +&ali!o/ ra6n/locali6acin- !e una "eometr3a no &ali!a'
ST(NPoint!
6 Retorna el n2mero !e puntos +&:rtices-en una "eometr3a
Post"is M 5unciones
Post"is M 5unciones
#ccesorios
7 STO$Rin"s
6 Si la "eometr3a es un pol0"on o multiMpol0"on/ retorna el numero !e linestrin"'
7 STO$umGeometries
6 Si la "eometr3a es un GEO(ETRQCOLLECTIO$ +o (ULTI\-/ retorna el numero !e
"eometrias/ en caso contrario retorna nulo'
7 STO$umPoints
6 Retorna el numero !e puntos en un STOLineStrin"'
7 STOPoint$
6 Retorna la posicion <$= !e un linestrin"' Retorna $ULL si la "eometr3a no es un
linestrin"'
7 STOSRID
6 Retorna el Spatial Reference IDentifier !e la "eometria/ se"2n las !efiniciones en
la ta*la spatialOrefOs0s ta*le'
Post"is M 5unciones
Post"is M 5unciones
#ccesorios
STOStartPoint
6 Retorna el primer punto !e una "eometr3a tipo LI$ESTRI$G como un POI$T'
STOZ
6 Retorna la coor!ena!a Z !e un punto/ o $ULL si no s posi*le' Se aplica so*re
"eoemtrias tipo POI$T'
STO(a;Z/ STO(inZ
6 Retorna el Z m>;imo/ Z m3nimo !e una ca1a +oun!in" o;-'
STOQ
6 Retorna la coor!ena!a Q !e un punto/ o $ULL si no esta !isponi*le' Se aplica
so*re "eometr3a tipo POI$T'
STO(a;Q/ STO(inQ
6 Retorna el Q m>;imo/ (inimi6o !e una ca1a +oun!in" o;-
STOc
6 Retorna la coor!ena!a c !e un punto/ o $ULL si no esta !isponi*le' Se aplica
so*re "eometr3a tipo POI$T'
STO(a;c/ STO(inc
6 Retorna el c ma;imo/ c minimo !e una ca1a +oun!in" o;-
Post"is M 5unciones
Post"is M 5unciones
E!itores
STO#!!Point
6 #"re"a un punto a un LineStrin"/ la posicin es opcional +inicia
en cero-'
UPD#TE man6anas SET "eometria F STO#!!Point+"eometria/ STOStartPoint+"eometria-- )NERE STOIsClose!+"eometria- F
falseT J a"re"a el &ertice final a las polilineas no cerra!as
SELECT STO#ste;t+STO#!!Point+STOGeom5romE)PT+RLI$ESTRI$G+H H/ 7 7-R-/ STO(a@ePoint+7/ I---T
SELECT STO#ste;t+STO#!!Point+STOGeom5romE)PT+RLI$ESTRI$G+H H/ 7 7-R-/ STOGeom5romTe;tt+RPOI$T+7 I-R-/7--T
SELECT STO#sE)PT+STO#!!Point+STOGeom5romE)PT+RLI$ESTRI$G+H H 7/ 7 7 7-R-/ STO(a@ePoint+7/ I/ D---T
STO#ffine
6 Se aplica para transformar la "eometr3a me!iante su traslacin/
rotacin 0 escala en un solo paso/ se aplica una matri6 !e
transformacin'
MMRota una linea +D!- en 7CH "ra!os en el e1e Z 0 c
SELECT STO#sE)PT+STO#ffine+t.eO"eom/ cos+pi+--/ Msin+pi+--/ H/ sin+pi+--/ cos+pi+--/ Msin+pi+--/ H/ sin+pi+--/ cos+pi+--/ H/ H/ H-- 5RO(
+SELECT STOGeom5romE)PT+RLI$ESTRI$G+7 I D/ 7 E D-R- #s t.eO"eom- #s fooT
Post"is M 5unciones
Post"is M 5unciones
E!itores
STOLine(er"e
6 Retorna un LineStrin" o (ultiLineStrin" forma!o por la union !e
"eometria (ULTILI$ESTRI$G' Si e;iste continui!a! en las
lineas/ se unen forman!o una sola linea'
SELECT STO#sTe;t+STOLine(er"e+STOGeom5romTe;t+R(ULTILI$ESTRI$G++MI8 MIA/MDH MI8'A/MD9 MD7/MEK MDD-/+MEK
MDD/ME9 MDI--R---T
STOCollectionE;tract
6 E;trae un (ULTI\ !e un GEO(ETRQ COLLECTIO$/ filtra!o por el
tipo especifica!o/ si no e;iste una "eometria E(PTQ es retorna!o'
Los tipos son 7 FF POI$T/ I FF LI$ESTRI$G/ D FF POLQGO$'
SELECT STO#sTe;t+STOCollectionE;tract+STOGeom5romTe;t+RGEO(ETRQCOLLECTIO$+GEO(ETRQCOLLECTIO$+POI$T+H
H---R-/7--T J retorna un (ULTIPOI$T
SELECT
STO#sTe;t+STOCollectionE;tract+STOGeom5romTe;t+RGEO(ETRQCOLLECTIO$+GEO(ETRQCOLLECTIO$+LI$ESTRI$
G+H H/ 7 7--/LI$ESTRI$G+I I/ D D--R-/I--T J retorna un (ULTILI$ESTRI$G
Post"is M 5unciones
Post"is M 5unciones
E!itores
ST(5ORCE(C%
ST(5ORCE(E% ? ST(5ORCE(E%N
6 5uer6a a la "eometr3a a un mo!o Z Q c'
STO5ORCEODD( / STO5ORCEOE(
6 5uer6a a la "eometr3a a un mo!o Z Q c (
ST(5ORCE(COLLECTION
6 5uer6a a la "eometr3a a un GEO(ETRQCOLLECTIO$
ST(5ORCE(R1R
6 5uer6a a la orientacin !e los &:rtices a se"uir la re"la !e la <mano
!erec.a=
Post"is M 5unciones
Post"is M 5unciones
E!itores
STOCollectionNomo"eni6e
E1m4
SELECT
STO#sTe;t+STOCollectionNomo"eni6e+RGEO(ETRQCOLLECTIO$+POI$T+H
H-R--T
J retorna 4 POI$T+H H-
SELECT
STO#sTe;t+STOCollectionNomo"eni6e+RGEO(ETRQCOLLECTIO$+POI$T+H
H-/POI$T+7 7-R--T
J retorna 4 (ULTIPOI$T+H H/7 7-
STO(ulti
E1m4
SELECT STO#ste;t+STO(ulti+STOGeom5romTe;t+RPOLQGO$ +7HH 7HH/ 7HH
IHH' IHH IHH/ IHH 7HH/ 7HH 7HH-R---T
J Retorna (ULTIPOLQGO$++7HH 7HH/ 7HH IHH' IHH IHH/ IHH 7HH/ 7HH 7HH--
Post"is M 5unciones
Post"is M 5unciones
E!itores
STORemo&eOPoint
ST(Re-er!e
STORotate
STOScale
E!itores
ST(Segmenti9e
6 Retorna una "eometria mo!ifica!a/ se"mentan!o +a"re"an!o
&ertices- !a!a una !istancia'
SELECT STO#sTe;t+STOSe"menti6e+STOGeom5romTe;t+R(ULTILI$ESTRI$G++MI8 MIA/MDH MI8'A/MD9 MD7/MEK MDD-/+MEK MDD/ME9
MDI--R-/K- -T J se"menti6a ca!a K metros'
STOSetPoint
6 Reempla6a el punto en la posicion $ !e un linestrin"' El in!ice
empie6a en cero'
SELECT STO#sTe;t+STOSetPoint+RLI$ESTRI$G+M7 I/M7 D-R/ D/ RPOI$T+M7 7-R--T J retorna LI$ESTRI$G+M7 7/M7 D-
ST(SetSRI%
6 #si"na el SRID !e una "eometr3a +a!iciona el meta!ata / no lo
transforma-'
SELECT STOSetSRID+STOPoint+MAA'HIIKHHCDDDDDD/ M7I'7D89CC-/EDI9- #s B"sCElon"OlatT
SELECT STOTransform+STOSetSRID+STOPoint+MAA'HIIKHHCDDDDDD/ M7I'7D89CC-/EDI9-/DA7C- #s utmT
Post"is M 5unciones
Post"is M 5unciones
E!itores
STOSnapToGri!
6 #1usta to!os los puntos !e una "eometr3a a una malla !efini!o por
un ori"en 0 un tamaGo !e cel!a/ Eliminarlos &:rtices repetiti&os que
caen en una misma cel!a/ retorna $ULL si los puntos no son
suficientes para !efinirlo' Se usa principalmente para re!ucir
precisin
UPD#TE m0ta*le SET t.eO"eom F STOSnapToGri!+t.eO"eom/ H'HH7-T J re!ucir a tres !ecimales
SELECT STO#sTe;t+STOSnapToGri!+STOGeom5romTe;t+RLI$ESTRI$G+7'777K9AC I'7ID/ E'777777 D'IDAEC8A/ E'7777I
D'IDAEC99A-R-/H'HH7--T J re!ucir a tres !ecimales
SELECT STOSnapToGri!+"eometria/ H'7/ H'7/ H'7/ H'H7- from man6anas J !a!a un ori"en ;/0 0 tamaGo !e la cel!a en am*os
e1es
ST(Tran!;orm
6 Transforma la "eometr3a !e un c!i"o SRID a otro'
SELECT stOtransform+"eometria/EDI9- from man6anasT J transforma las coor!ena!as a latlon'
STOTranslate/STOTransScale
6 Transla!a la "eometr3a usan!o uin !eltaZ 0 un !eltaQ 0/o usan!o
un factorZ 0 un factorQ'
Post"is M 5unciones
Post"is M 5unciones
E!itores
STOSnap
#1usta los se"mentos 0 &:rtices !e una "eometr3a a los &:rtices !e otra "eometr3a !e referencia'
Sali!as
7 STO#sinar0
6 Retorna en formato +)P- sin incluir el SRID'
7 STO#sE)PT
6 Retorna en formato +)PT- inclui!o el SRID'
7 STO#sGeo%SO$
6 Retorna en formato Geo%SO$' Or"ani6acin
estructura!a !e la "eometr3a'
7 STO#sG(L
6
Retorna en formato G(L' Usa!o por aplicaciones
que cumplen las especificaciones !el OGC'
Post"is M 5unciones
Post"is M 5unciones
Sali!as
7 STO#sP(L
6 Retorna en formato P(L' Default &ersinFI +7/I/D/E-/ !efault
precisinF7K'
7 STO#sP(L+"eometr3a-T
7 STO#sP(L+"eometr3a / precisin-T
7 STO#sP(L+&ersin/ "eometr3a -T
7 STO#sP(L+&ersin/ "eometr3a / precisin-T
7 STO#sS,G
6 Retorna en formato S,G'
7 STOGeoNas.
6 Retorna en formato GeoNas. +"eo.as.'or"-'
7 STO#sTe;t
6 Retorna en )ellMPnoBn Te;t +)PT- sin usar SRID'
STO#sLatLonTe;t
Procesamiento !e "eometr3as
7
ST(Bu;;er
6 Retorna una "eometr3a que representa el corre!or !a!a
una !istancia 0 otros atri*utos opcionales'
6 STOuffer+"eometr0 "7/ !istancia-T
6 STOuffer+"eometr0 "7/ !istancia/ cantOse"mOcua!ranteO!elOcirculo-T
6 STOuffer+"eometr0 "7/ !istancia/ estiloOenOte;tos-T
6 Rqua!Ose"sF hR 4 +!efaults to C-'
6 Ren!capFroun!XflatXsquareR 4 +!efaults ?roun!?-'
6 R1oinFroun!XmitreX*e&elR 4 +!efaults ?roun!?-'
6 RmitreOlimitF h'hR 4 ra!io limite !e mitre'
7 STOCollect
6 Retorna una "eometr3a +(ULTI\- !e una coleccin !e
otras "eometr3as'
SELECT STOCollect+#RR#Q+SELECT "eometria 5RO( man6anas--T
SELECT sector/ STOCollect+f'"eometria- as sin"le"eom 5RO( +SELECT sector/+STODump+"eometria--'"eom #s
"eometria 5RO( man6anas - #s f GROUP Q sector
Post"is M 5unciones
Post"is M 5unciones
Procesamiento !e "eometr3as
7 ST(Con)a-e1ull
6 Representa una "eometr3a +pol3"ono cnca&o- que encierra to!as las
"eom:tricas !entro !el "rupo in!ica!o' Opcionalmente se in!ica un factor !e
co*ertura 0 la consi!eracin !el procesamiento !e los .uecos'
7 ST(Con-e,1ull
6 Representa el m3nimo pol3"ono con&e;o que encierra a to!as las "eometr3as
!el "rupo'
7 STODifference
6 Retorna una "eometr3a que representa a la parte que no intersecta # con '
SELECT STO#sTe;t+STODifference+STOGeom5romTe;t+RLI$ESTRI$G+KH 7HH/ KH IHH-R-/ STOGeom5romTe;t+RLI$ESTRI$G+KH KH/ KH
7KH-R---T
7 STODump
6 E;tra las "eometrias tipo (ULTI\ a "eometrias simples
SELECT STODump+"eometria-/stOaste;t++STODump+"eometria--'"eom- #S "eom 5RO( +SELECT
STOGeom5romE)PT+RGEO(ETRQCOLLECTIO$+LI$ESTRI$G+H H/ 7 7-/LI$ESTRI$G+I I/ D D-/POI$T+H H--R- #S "eometria- #S *
STODumpPoint
Procesamiento !e "eometr3as
7 ST(Inter!e)tion
6 Retorna una "eometr3a que representa la interseccin entre !os
"eometr3as'
7
ST(Ma2eVali"
6 Intenta .acer &ali!a una "eometr3a con o sin per!i!a !e &:rtices'
7 STO(emUnion
6 Seme1ante a STOUnion/ +usa menos memroia 0 mas tiempo !e
procesa!or-'
7 STOPol0"oni6e
6 Crea un GEO(ETRQ COLLECTIO$/ contenien!o posi*les
pol3"onos forma!os por LI$ESTRI$G !e un "rupo !e "eometr3as'
SELECT STO#ste;t+STOPol0"oni6e+"eometria-- #s "eomet 5RO( +SELECT "eometria 5RO( ta*laOlineas ORDER Q OO"i!
LI(IT EK- #s testT
MM pol3"onos in!i&i!uales
SELECT STO#s)PT++STODump+testI'pol0coll--'"eom- #s "eomte;trep 5RO( +SELECT STOPol0"oni6e+"eometria- #s pol0coll
5RO( +SELECT "eometria 5RO( ta*laOlineas ORDER Q OO"i! LI(IT EK- #s test7- #s testIT
Post"is M 5unciones
Post"is M 5unciones
Procesamiento !e "eometr3as
STO$o!e
STOOffsetCur&e
ST(Remo-eReeatPoint!
STOS.are!Pat.s
Retorna una "eometr3a que contiene los se"mentos comparti!os entre !os LineStrin"'
ST(SPLIT
Retornauna collecion !e "eometrias resultante !e ser corta!o por otra' Esta !isponi*le en la
&ersin I'H
E1em4
SELECT STOSplit+circulo/linea-
5RO( + SELECT STO(a@eLine+STO(a@ePoint+7H/7H-/STO(a@ePoint+78H/78H-- #S linea/
STO*uffer+STOGeom5romTe;t+RPOI$T+7HH 8H-R-/KH- #S circulo- #S fooT
Procesamiento !e "eometr3as
7 ST(Simli;y
6 Retorna una simplificacin !e una "eometr3a usan!o el al"oritmo
Dou"lasMPeuc@er
+.ttp4//en'Bi@ipe!ia'or"/Bi@i/Ramer]EI]CH]8DDou"las]EI]CH]8DPeuc@erOal"orit.m -'
SELECT STO$points+"eometria- #s numOpuntos/ STO$Points+STOSimplif0+"eometria/H'7-- #s npH7OpocaOrecuccion/
STO$Points+STOSimplif0+"eometria/H'K-- #s npHKOre"ularOre!uccion/ STO$Points+STOSimplif0+"eometria/7-- #s
np7OaltaOre!uccion/ STO$Points+STOSimplif0+"eometria/7H-- #s np7HOmu0OaltaOre!uccion/ +STOSimplif0+"eometria/7HH-
is null- #s np7HHOsinO"eometria 5RO ( +SELECT STOuffer+RPOI$T+7 D-R/ 7H/7I- #s "eometria- #s fooT
7 ST(Simli;yPre!er-eToology
6 Similar al anterior/ no crea "eometr3as no &ali!as'
7 STOS0mDifference
6 Retorna una "eometr3a que es las porciones !e las "eometr3as
!e # 0 que no se intersectan'
7 STOUnion
6 Retorna una "eometr3a que representa la unin !e un "rupo !e
"eometr3as
Post"is M 5unciones
Post"is M 5unciones
Referencian!o a la linea
7 ST(Line(Interolate(Point
6 Retorna un punto interpola!o a lo lar"o !e una linea' El se"un!o
ar"umento es un &alor !ecimal !e H a 7 0 representa la fraccin
!el total !e la lon"itu! !e la linea en el cual el punto sera
locali6a!o'
SELECT STO#sE)PT+STOLineOInterpolateOPoint+"eometria/ H'IH-- 5RO( +SELECT
STOGeom5rom)PT+RLI$ESTRI$G+IK KH/ 7HH 7IK/ 7KH 78H-R- as "eometria- #s testT
7 ST(Line(Lo)ate(Point
6 Retorna un &alor entre H 0 7 que representa la posicin mas
cercana a la linea !e un punto'
6 STOLineOLocateOPoint+"eometriaO!eOlinestrin"/ "eometria !eOpoint-T
7 ST(Line(Su.!tring
6 Retorna un se"mento !e linestrin" !a!o el inicio 0 final !el
mismo/ in!ica!o me!iante fracciones con &alores entre H 0 7'
6 STOLineOSu*strin"+linestrin"/ inicio/ final-T
Post"is M 5unciones
Post"is M 5unciones
Referencian!o a la linea
7 STO#!!(easure
6 Retorna una "eometr3a con elemento ( +measure- como resulta!o !e interpolar
entre el punto inicial 0 final'
6 Si la "eometr3a no tiene !imensin / es a"re"a!o'
6 Si la "eometr3a tiene !imensin es so*rescrito con el nue&o &alor'
6 Solo se aplica a LI$ESTRI$G o (ultiLineStrin"
6 STO#!!(easure+"eometria linea/ float inicio/ float final-T
E1em4
SELECT STO#ste;t+STO#!!(easure+
STOGeom5romTe;t+RLI$ESTRI$G+7 H/ I H/ E H-R-7/E-- as se"mentoT
SELECT STO#ste;t+STO#!!(easure+
STOGeom5romE)PT+RLI$ESTRI$G+7 H H/ I H 7K/ E H 7I-R-7H/EH-- as se"mentoT
SELECT STO#ste;t+STO#!!(easure+
STOGeom5romE)PT+RLI$ESTRI$G+7 H H K/ I H 7K I'D/ E H 7I 77'7-R-7H'E/EH'7--
as se"mentoT
SELECT STO#ste;t+STO#!!(easure+
STOGeom5romTe;t+RLI$ESTRI$G (+7 H H/ I H I'D'D/ E H 77'7-R-7H'E/EH'7-- as
se"mentoT
Post"reSQL M Post"is
Interseccin entre geometras y comparacion de contener a
otra geometria
(E!EC* codOcatastral$ geometria %RO) lotes AIERE geometria WW
stOGeometry%rom*e't6N#O!PGO7 66 -92+4T.4242UT::3T3
:3U2-U4.T+2+:3UT3$ -9:UT3.+2U.-2+9243 :3U2+--.+T:44.U-:$
-9:2:T.--+:+TT-.- :3U:24..+.T93424U$ -92+U9.:3T4-9-T.:
:3U24.2.-T9:U4.+$ -92+4T.4242UT::3T3 :3U2-U4.T+2+:3UT3 88N8 &7D
stOcontains6stOGeometry%rom*e't6N#O!PGO7 66 -92+4T.4242UT::3T3
:3U2-U4.T+2+:3UT3$ -9:UT3.+2U.-2+9243 :3U2+--.+T:44.U-:$
-9:2:T.--+:+TT-.- :3U:24..+.T93424U$ -92+U9.:3T4-9-T.:
:3U24.2.-T9:U4.+$ -92+4T.4242UT::3T3
ABCD.CE<F-D-ABCFB 55N8$geometria 8M
Unin de tablas
Unin de tablas
);em:
Otros
(E!EC* d.codigo$
d.nom0re$d.deuda$stOcentroid6l.geometria8 as geometria
%RO) lotes.l$ rentas d AIERE l.codOcatastralRd.codigo
Post"reSQL M Post"is
Union Espacial
E1m4
SELECT \
5RO( 6onas 6
%OI$ calles as c
O$ STOContains+6'"eometria/ c'"eometria-
)NERE 6'6ona F Rsector7RT
Post"reSQL M Post"is
Union 0 sumari6acion
E1em4
Union 0 sumari6acion
%OI$ crea una ta*la &irtual que inclu0e columnas !e am*as ta*las
SELECT
7HH'H \ Sum+po*O.om*res- / Sum+po*Ototal- #S porcO.om*res/
7HH'H \ Sum+po*Omu1eres- / Sum+po*Ototal- #S porcOmu1eres/
Sum+po*Ototal- #S po*Ototal
5RO( censoOinei #S censo
%OI$ comisarias #S com
O$ STOD)it.in+censo'"eometria/ com'"eometria/ IHH-
)NERE strpos+comisaria'tipo/R(#R- ^ HT
Post"reSQL M Post"is
Union a&an6a!o
SELECT
lineas'ruta/
Roun!+7HH'H \ Sum+po*O.om*res- / Sum+po*Ototal-/ 7- #S
porcO.om*res/
Roun!+7HH'H \ Sum+po*Omu1eres- / Sum+po*Ototal-/ 7- #S
porcOmu1eres/
Sum+po*Ototal- #S po*Ototal
5RO( censoOinei #S censo
%OI$ comisarias #S com
O$ STOD)it.in+censo'"eometria/ com'comisaria/ IHH-
%OI$ calles #S lineas
O$ strpos+com'ruta/ lineas'ruta- ^ H
)NERE lineas'rutaFRr7R
GROUP Q lineas'ruta
ORDER Q lineas'ruta DESCT
Post"reSQL M Post"is
Traslape de tablas
E5em.
Por E1emplo4
SELECT STO(a@eLine+STO(a@ePoint+;/0-/STO(a@ePoint+;/0--
Post"reSQL M Post"is
Post"reSQL M Post"is
Creacin de un ODBC
F 7om0re
F I# de localizacion o ?local1ost@
F #uerto$ por omisin UT.-
F Base de datos
F Lsuario
F Cla"e
7 <DBC
F
Conector; org.postgres=l.Dri"er
5d0c;postgres=l;local1ost;UT.-catastro
F I# de localizacion o ?local1ost@
F #uerto$ por omisin UT.-
F Base de datos
F Lsuario
F Cla"e
Conecciones con %DC
Conecciones con %DC
. un -,!C
F sun.5d0c.od0c.<d0cOd0cDri"er
F 5d0c;od0c;D(7
. %-SG<)S'*
F org.postgres=l.Dri"er
F 5d0c;postgres=l;local1ost;UT.-0asedatos
. .S=00
F com.i0m.asT44.access.&(T44<DBCDri"er
F 5d0c;asT44;+9-.+3:.-U.3
Post"reSQL M Post"is
Post"reSQL M Post"is
Crystal Report
#enta1o
IReport
F Otros sistemas
Di"ersos programas
Procesos !e entra!a / sali!a son el <"ran cuello !e *otella= ' Consi!erar un arre"lo
R#ID 7H
uena memoria
#!ecua!o CPU+s-
POSTGIS I'H
Post"is I';
TRI#$GLE
TI$
Soporte !e formatos DD
STO#sZDD+"eometria-
STO#sG(L+D/''''-
STO#ste;t+"eometria-
STO#sinar0+"eometria-
5ree)rl4 .ttp4//freeBrl'sourcefor"e'net
InstantRealit04 .ttp4//BBB'instantrealit0'or"/e;amples
ZDDom4 .ttp4//BBB';D!om'or"
Otros4 .ttp4//BBB'Be*D!'or"/;D!/&rml/tools/&ieBersOan!O*roBsers
POSTGIS I'H
calleOi! inte"er/
calleOnom*re c.aracter &ar0in"+7IC-/
"eometria "eometr0/
CO$STR#I$T enforceO!imsO"eometria CNECP +stOn!ims+"eometria- F I-/
CO$STR#I$T enforceO"eot0peO"eometria CNECP +"eometr0t0pe+"eometria- F
RLI$ESTRI$GR44te;t OR "eometria IS $ULL-/
CO$STR#I$T enforceOsri!O"eometria CNECP +stOsri!+"eometria- F +DIA7C---
#.ora se &e 4
calleOi! inte"er/
calleOnom*re c.aracter &ar0in"+7IC-/
"eometria "eometr0+Geometr0/DIA7C-
Las "eometr3as son representaciones !e un espacio !on!e los o*1etos que comparten
*or!es/ no!os o caras son propietarios !e su propia coor!ena!as'
Usos recomen!a!o
To!o lo que se refiera re!es/ como calles/ re!es !e a"ua 0 alcantarilla!o/ re!es
el:ctricas/ etc'
CreateTopolo"0
DropTopolo"0
,ali!ateTopolo"0
Topolo"0Summar0
#!!TopoGeometr0Column
Etc'
#sG(L
Geometr0
Procesamiento
E1emplo
SELECT
topolo"0'CreateTopolo"0+R&iasOtopoR/DIA7C- as
topoi!T
SELECT
topolo"0'#!!TopoGeometr0Column+R&iasOtopoR/R&iasR/
RcallesR/RtopoR/RLI$ER-T
#rquitectura
Se almacena como4
E1emplo
Consulta !e formatos
rasterIp"sql MG
Con&ersin en *atc.
Con&ersin !irecta
Gra*ar a un arc.i&o
STO#sP$G+raster-
STO#sTI55+raster-
STO#sGD#LR#STER+raster-
STOPOLQGO$+raster/numeroO*an!a-
STO(a@eEmpt0Raster
STO#sRaster+"eometria-
STOan!+raster-
STO#SRaster
STOan!
STOReclass+raster-
STOResample+raster-
STOTransform+raster-
STO(ap#l"e*ra+raster-
POSTGIS I'H
Reclasificacion !e pi;eles
SELECT stOGD#LDri&ers+-T
Se pue!en "enerar
en&ol&entes +Nulls- que se
a1usten a otras "eometr3as
Se pue!en "enerar
paralelas a la i6quier!a o
!erec.a en forma lineal o
cur&a
Se pue!en re&isar la
&ali!e6 !e las "eometrias
Se pue!en mostrar en
formato lat lon"
formatea!o
POSTGIS I'H
Otras funciones
STORemo&eRepeate!Points+"eometria-
STOS.are!Pat.+"eometria-
STOCollectionNomo"eni6e+"eometria-
STOGeom5romGeo%SO$+"eometria-
E1emplo4
El opera!os4
POSTGIS R#STER
In!ices multi!imensionales
In!ices ID 0 DD
5unciones especiales 0 DD
GR&CI&(