96
SER 300 – Introdução ao Geoprocessamento Bancos de Dados Geográficos & Arquitetura de SIGs Dr. Gilberto Ribeiro de Queiroz São José dos Campos, 30 de Março de 2016

SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

  • Upload
    hakhanh

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SER300–IntroduçãoaoGeoprocessamento

BancosdeDadosGeográficos&

ArquiteturadeSIGs

Dr.GilbertoRibeirodeQueiroz

SãoJosédosCampos,30deMarçode2016

Page 2: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SGBD:umatecnologiaamplamentedifundida

•  AtecnologiadebancosdedadostemsidoumcomponentefundamentalemquasetodososNposdeaplicações:–  Contabancária:depósitosesaques–  Reservasdepassagensaéreas–  Reservasemhotéis–  Comprasdelivros,CDs,DVDseoutrosbens(Amazon)–  BuscaporarNgosemumarevistaeletrônica(TransacNonsofGISou

ACMdigitallibrary)–  Sitesdemapeamento:OpenStreetMap,GoogleMapseBingMaps

Page 3: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

EvoluçãodasTecnologiasdeBancosDados

1960 1970 1980 1990 2000 2010

Programasdependentesarquivos

Page 4: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

EvoluçãodasTecnologiasdeBancosDados

1960 1970 1980 1990 2000 2010

ProgramaçãoGeneralizada

Programasdependentesarquivos

Page 5: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

coleçãodedadosrelacionadosdeumdeterminadodomínio.

SistemasdeBancosdeDados

BancodeDados

SGBD(SistemaGerenciadorde

BancosdeDados)

Armazenamento Recuperação

RepositórioFísicodeDados

AplicaçõesAplicaNvos,ServidordeAplicação,SIG,TerminaisIteraNvos,FerramentasAdministração,...

Comandos:Consultas,Atualizações,

ExecuçãoProcedimentos,DefiniçãoDados,...

Usuários

Page 6: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Recuperação

SistemasdeBancosdeDados

BancodeDados

SGBD(SistemaGerenciadorde

BancosdeDados)

Armazenamento

RepositórioFísicodeDados

AplicaçõesAplicaNvos,ServidordeAplicação,SIG,TerminaisIteraNvos,FerramentasAdministração,...

Comandos:Consultas,Atualizações,

ExecuçãoProcedimentos,DefiniçãoDados,...

Coleçãodeprogramaspara:• processamentodeconsultas• acessoaodadoarmazenado• criaçãoemanutençãodobancodedados• independênciaentreaplicaçõesedado• abstraçãodedados→modelodedados• comparNlhamentodedadosentreusuárioseaplicações• mecanismosdeproteçãodosdados• …

Usuários

Page 7: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

EvoluçãodasTecnologiasdeBancosDados

1960 1970 1980 1990 2000 2010

ModeloBancoDadosHierárquico(IBMIMS)

Fonte:W

ikiped

ia

ProgramaçãoGeneralizada

Programasdependentesarquivos

Page 8: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

EvoluçãodasTecnologiasdeBancosDados

1960 1970 1980 1990 2000 2010

ModeloBancoDadosHierárquico(IBMIMS)

ProgramaçãoGeneralizada

Programasdependentesarquivos

ModeloRelacional

EdgarFrankCoddFonte:Wikipedia

E.F.Codd.1970.Arela'onalmodelofdataforlargeshareddatabanks.CommunicaNonsoftheACM,v.13,n.6,June1970,pp.377-387.

BancosDadosRelacionais(SGBD-R)

ACMTuringAward(1981)

Page 9: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

EvoluçãodasTecnologiasdeBancosDados

1960 1970 1980 1990 2000 2010

ModeloBancoDadosHierárquico(IBMIMS)

BancosDadosRelacionais(SGBD-R)

SystemReINGRES

ProgramaçãoGeneralizada

Programasdependentesarquivos

Codd:ModeloRelacional

Page 10: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

EvoluçãodasTecnologiasdeBancosDados

1960 1970 1980 1990 2000 2010

ModeloBancoDadosHierárquico(IBMIMS)

BancosDadosRelacionais(SGBD-R)

SystemReINGRES

ProgramaçãoGeneralizada

Programasdependentesarquivos

Codd:ModeloRelacional

Page 11: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Quaissãoosprincipaisconceitosembancosdedadosrelacionais?

Page 12: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Relação(ouTabela)

•  Umbancodedadosrelacionaléorganizadoemumacoleçãoderelações(outabelas)possivelmenterelacionadasentresi.

paisesid nome populacao fronteira

1 Alemanha 82.000.000

2 Brasil 190.000.000

... ... ... ...

Tabela

Colunas

Linha

EsquemaTabela

Instância

Page 13: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ModeloRelacional

•  Todatabela(ourelação)possuiumnome:–  Emgeral,essenomeéúnicodentrodeummesmobancodedados.*

•  Ascolunasdeumatabelasãotambémchamadasde:–  campos,domíniosouatributos.

•  CadacolunapossuiumnomeedeveterumNpodedadoassociado:–  Numérico,CadeiadeCaracteres,DataeHora,Geométrico.

•  Aslinhastambémsãoconhecidaspor:–  tuplasouregistros.

*ConformeveremosmaisadianteosSGBD-Rpodemrelaxarestaafirmaçãocomousodeesquemas(ounamespaces)

Page 14: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Relacionamentosentretabelas

paises

id nome populacao

1 Alemanha 82.000.000

2 Brasil 190.000.000

... ... ...

cidades

cid nome populacao pais_id

191 CorrenNna ... 2

181 OuroPreto ... 2

987 Munster ... 1

192 Belmonte ... 2

... ... ... ...

paises_x_cidades

pid p_nome p_populacao cid c_nome c_populacao

2 Brasil 190000000 191 CorrenNna ...

2 Brasil 190000000 181 OuroPreto ...

1 Alemanha 82000000 987 Munster ...

2 Brasil 190000000 192 Belmonte ...

... ... ... ...

Page 15: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ChavePrimária(PrimaryKey)

•  CampoouconjuntodecamposcujosvaloresidenNficamunicamentecadalinhadeumatabela.

paises

id nome populacao

1 Alemanha 82.000.000

2 Brasil 190.000.000

... ... ...

cidades

cid nome populacao pais_id

191 CorrenNna ... 2

181 OuroPreto ... 2

987 Munster ... 1

192 Belmonte ... 2

... ... ... ...

ChavePrimária

ChavePrimáriaComposta

cliente_telefone

ncid fone Rpo

1 555-7654 residencial

1 345-9876 comercial

2 888-7777 residencialChavePrimária

Page 16: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ChaveEstrangeira(ForeignKey)

•  Colunaoucombinaçãodecolunas,cujosvaloresaparecemnecessariamentenachaveprimáriadeumaoutratabela*.

*umachaveestrangeiranãoprecisateromesmonomedoqueachaveprimáriacorrespondentenaoutratabela(apenasomesmodomínio)

paises

id nome populacao

1 Alemanha 82.000.000

2 Brasil 190.000.000

... ... ...

cidades

cid nome populacao pais_id

191 CorrenNna ... 2

181 OuroPreto ... 2

987 Munster ... 1

192 Belmonte ... 2

... ... ... ...

ChavePrimária

ChaveEstrangeira

Page 17: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

RestriçõesdeIntegridade(Constraints)•  Permitemestabelecercritériosparamanutençãodaconsistênciados

dadosnobancodedados:–  Restriçõesdedomínio:

•  Especificaospossíveisvaloresdeumacoluna(Npodedadodeumacoluna).–  Chaveprimária.–  Chaveestrangeira(ourestriçãodeintegridadereferencial):

•  UmachaveestrangeiraespecificaumarestriçãodeintegridadereferencialentreduasrelaçõesR1eR2sobreumconjuntodecolunas.

–  Valorúnico:•  Garantequeovaloremumcampoouconjuntodecampossejamúnicosdentroda

tabela(semelhanteaoconceitodechaveprimária).–  Restriçõesdenulidade:

•  especificaseovalordeumacolunapodeounãosernulo.–  Restriçõesdevalores:

•  PossibilitamavaliarseovalordeumaoumaiscolunassaNsfazumadeterminadaexpressão(fórmula).

•  VeremosaolongodocursodeformapráNcaoquesignificacadaumadessasrestriçõesesuasimplicações.

Page 18: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ÁlgebraRelacional•  Linguagemformaldeconsulta.

•  Conjuntodeoperaçõesqueusamumaoumaisrelaçõescomoentradaegeramumanovarelaçãodesaída:–  operação(R1)→Rn–  operação(R1,R2)→Rn

•  Operaçõesbásicas:–  Operaçõesunárias:seleção,projeção.–  Operaçõesbinárias:produtocartesiano,junção,interseção,uniãoe

diferença.

•  Osoperadorespodemsercombinadosdeformaarealizaroperaçõesmaiscomplexas.

Page 19: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ÁlgebraRelacional:Operadores

Fonte:C.J.Date(1993)

Page 20: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ÁlgebraRelacional:Seleção

•  Esteoperadorselecionatuplas(linhas)deumarelaçãoquesaNsfazemumcertopredicadooucondição.

•  Exemplo:paraarelação“paises”,selecionarastuplascujapopulaçãosejamaiorque100.000.000.

paises

id nome populacao

1 Alemanha 82.000.000

2 Brasil 190.000.000

... ... ...

)(810 paisespopulacao≥σ nova_relacao

id nome populacao

2 Brasil 190.000.000

... ... ...

TabeladeSaídaTabeladeEntrada

Page 21: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ÁlgebraRelacional:Projeção

•  Esteoperadorgeraumanovarelaçãocontendoapenasascolunasdesejadasdeumarelaçãodeentrada.

•  Exemplo:projetaroatributonomesobrearelação“paises”.

paises

id nome populacao

1 Alemanha 82.000.000

2 Brasil 190.000.000

... ... ...

)(paisesnomeπ

TabeladeEntrada TabeladeSaída

nova_relacao

nome

Alemanha

Brasil

...

Page 22: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ÁlgebraRelacional:ProdutoCartesiano

•  Esteoperadorgeraumanovarelaçãoformadapelacombinaçãodetodasastuplasdeduasrelaçõesdeentrada.

)()( cidadespaises ×

nova_relacao

id nome populacao cid nome populacao pais_id

1 Alemanha 82000000 191 CorrenNna ... 2

1 Alemanha 82000000 181 OuroPreto ... 2

1 Alemanha 82000000 987 Munster ... 1

1 Alemanha 82000000 192 Belmonte ... 2

2 Brasil 190.000.000 191 CorrenNna ... 2

2 Brasil 190.000.000 181 OuroPreto ... 2

2 Brasil 190.000.000 987 Munster ... 1

2 Brasil 190.000.000 192 Belmonte ... 2

... ... ... ... ... ... ...

Page 23: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ÁlgebraRelacional:Junção(Join)

•  Produtocartesianoseguidodeumaseleção.

)()()( _.. cidadespaisescidadespaises idpaiscidadesidpaises ×⇔ =σθ

nova_relacao

id nome populacao cid nome populacao pais_id

1 Alemanha 82000000 987 Munster ... 1

2 Brasil 190.000.000 191 CorrenNna ... 2

2 Brasil 190.000.000 181 OuroPreto ... 2

2 Brasil 190.000.000 192 Belmonte ... 2

... ... ... ... ... ... ...

Page 24: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

LinguagemdeConsulta:SQL

•  Omodelorelacional(Codd,1970)éabaseparalinguagensdealtonível:–  Álgebra/CálculoRelacional→LinguagemDeclaraNva→ISO/SQL

(StructuredQueryLanguage)

CREATETABLEpaises(idINT4PRIMARYKEY,nomeVARCHAR(50),populacaoINT4);

paises

id nome populacao

DefiniçãoDados

paises

id nome populacao

1 Alemanha 82.000.000

2 Brasil 190.000.000

... ... ...

ManipulaçãoDados

INSERTINTOpaisesVALUES(1,‘Alemanha’,82000000)

INSERTINTOpaisesVALUES(2,‘Brasil’,190000000)

ManipulaçãoDados

Page 25: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

LinguagemdeConsulta:SQL

•  Omodelorelacional(Codd,1970)éabaseparalinguagensdealtonível:–  Álgebra/CálculoRelacional→LinguagemDeclaraNva→ISO/SQL

(StructuredQueryLanguage)

SELECTnomeFROMpaisesWHEREpopulacao>80000000

paises

id nome populacao

1 Alemanha 82.000.000

2 Brasil 190.000.000

... ... ...

Consulta(Não-Procedural)

Nota:storedproceduresouprocedurallanguages:PL/SQL,T-SQL,PL/pgSQL

Page 26: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

MétodosdeAcesso(Indexação)

•  Problema:Comoprocessardeformaeficienteasconsultas?–  AtravésdousodeestruturasdedadosconhecidascomoÍndicesou

MétodosdeAcesso;

•  Osíndicesreduzemoconjuntodeobjetosaseremverificadosduranteoprocessamentodasconsultas:–  Normalmente,umaconsultaenvolveapenasuma

pequenaparceladobancodedados;–  Nestecaso,percorrertodoobancopode

serbastanteineficiente;–  Portanto,umplanodeexecuçãoeficienteparaa

consultaNpicamenteconsideraaexistênciadeíndices.

Page 27: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

IndependênciaFísicadosDados

paises

id nome populacao

1 Alemanha ...

2 Brasil ...

... ... ...

paises

TabelaNomeColunas

municipios lotes paises quadras locais

Fonte:AdaptadodeGray(1996)

OrganizaçãodoSistemaArquivo

TiposDadosColunas,

Linha(registro)

EsquemaTabela

EsquemaBD ÍndicesLogs

NívelInterno/Esquema

NívelLógico/Esquema

Restrições

Row-storeColumn-StoreB+-tree,Hash

Page 28: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Comoaindependência�sicaéalcançada?

•  EsquemadoBancodeDados:–  UmacaracterísNcafundamentaldeumSGBD-Réqueelenãocontém

apenasosdadosbrutossobreodomíniodeinteresse;–  TodoSGBD-Rmantémadefiniçãooudescriçãodaestruturadobanco

dedados(self-describing);–  EssasinformaçõessãomanNdasnocatálogodosistema(oudicionário

dosistema)esãodenominadasdemetadadosdobancodedados.–  NapráNcaosSGBD-Rarmazenamessasinformaçõesdedefiniçãoem

tabelasdoprópriosistema(tabelasdemetadadooutabelasdocatálogo).

•  Omodelodedadosrelacionalforneceparaasaplicaçõesumaabstraçãoindependentedarepresentação�sicadosdados.

Page 29: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Visões(Views)

•  MuitasvezespodesernecessáriofornecerdiferentesperspecNvasdobancodedadosdependendodousuário.Umavisão(ouview)podeser:–  umsubconjuntodosdadosdobancodedados–  podeconterdadosderivadosdobancodedados

paises cidades

capitais renda_us

Tabelas(DadoBruto)

Visões(DadoVirtual)

Page 30: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ArquiteturasdeSGBD-R

•  Cliente/Servidor

•  EmbuNdo(ouembarcado)

•  Emmemória(In-memory)

•  Paralelos/Distribuídos

•  ArmazenamentoLinhaxColuna

Page 31: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ArquiteturasdeSGBD-R:ClienteServidor

Fonte:Wikipedia

Page 32: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ArquiteturasdeSGBD-R:Embedded#include<sqlite3.h>intmain(intargc,char**argv){intrc=sqlite3_open("/opt/data/mydb.sqlite",&db);if(rc){fprintf(stderr,"Can'topendatabase:%s\n",sqlite3_errmsg(db));sqlite3_close(db);returnEXIT_FAILURE;}rc=sqlite3_exec(db,"Select*fromtabela",callback,0,&zErrMsg);if(rc!=SQLITE_OK){char*zErrMsg=0;fprintf(stderr,"SQLerror:%s\n",zErrMsg);sqlite3_free(zErrMsg);}sqlite3_close(db);returnEXIT_SUCCESS;}

Page 33: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ArquiteturasdeSGBD-R:rowxcolumnstorepaises

id nome populacao

1 Alemanha 82.000.000

2 Brasil 190.000.000

... ... ...

RowStore ColumnStore

1 Alemanha 82M 2 Brasil 190M

3 ArgenRna … … … …

LayoutemDisco LayoutemDisco

1

2

...

Alemanha

Brasil

...

82.000.000

190.000.000

...

Ex:C-Store,MonetDB,VerNcaEx:PostgreSQL,MySQL

Page 34: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

OutrosConceitosImportantes

•  Projetodebancosdedados:–  ModeloEnNdade-Relacionamento(ER).

•  Normalização:–  Evitaranomaliascomoprojetodobancodedados.

•  Transações(ACID).

•  GaNlhos(Trigger).

•  ProcedimentosArmazenados(StoredProcedure).

Page 35: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

EvoluçãodasTecnologiasdeBancosDados

1960 1970 1980 1990 2000 2010

Aplicaçõesemergentesenovasdemandas:

CAD,SIG,MulNmedia,OLAP,Real-Nme,

Cien�ficas

ProgramaçãoGeneralizada

Programasdependentesarquivos

ModeloBancoDadosHierárquico(IBMIMS)

BancosDadosRelacionais(SGBD-R)

PeríododemuitapesquisasobreextensibilidadedosSGBDs

ProtóRposdepesquisanofinaldosanos80voltadosaSIG:Probe,DASDBSGEO-Kernel,Gral,SIRO-DBMS,Starburst,Geo++,GéoSabrina,GODOT,GeoO2,Paradise

Page 36: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

EvoluçãodasTecnologiasdeBancosDados

1960 1970 1980 1990 2000 2010

BancosDadosOrientadoObjeto

ObjetoRelacional

DifusãodosSGBD-OR

ProgramaçãoGeneralizada

Programasdependentesarquivos

ModeloBancoDadosHierárquico(IBMIMS)

BancosDadosRelacionais(SGBD-R)

Page 37: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SGBD-OR:UserDefinedTypes(UDT)

CREATETYPEgeo_pointAS(xREAL,yREAL,sridINTEGER);

Page 38: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SGBD-OR:UserDefinedTypes(UDT)

CREATETABLEsedes_municipais(idINTEGERPRIMARYKEY,locationGEO_POINT);

INSERTINTOsedes_municipaisVALUES(1,'(1,2,4326)'::GEO_POINT);

Page 39: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SGBD-OR:UserDefinedFuncNons(UDF)

•  PossibilitacriarouestenderaálgebradeumdeterminadoNpodedado.

CREATEORREPLACEFUNCTIONless_than(firstGEO_POINT,secondGEO_POINT)RETURNSREALAS$$BEGINIF(first.x<second.x)THENRETURNTRUE;ENDIF;IF(first.x>second.x)THENRETURNFALSE;ENDIF;...RETURNFALSE;END;$$LANGUAGEplpgsql;

Page 40: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SGBD-OR:UserDefinedFuncNons(UDF)

•  PossibilitacriarouestenderaálgebradeumdeterminadoNpodedado.

CREATEORREPLACEFUNCTIONdistance(firstGEO_POINT,secondGEO_POINT)RETURNSREALAS$$DECLAREdxREAL;dyREAL;BEGINdx=(first.x-second.x)*(first.x-second.x);dy=(first.y-second.y)*(first.y-second.y);RETURNsqrt(dx+dy);END;$$LANGUAGEplpgsql;

Page 41: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SGBD-OR:UserDefinedFuncNons(UDF)

•  UDFspassamafazerpartedalinguagemdeconsultadoSGBD:

SELECTless_than('(1,2,4326)'::GEO_POINT,'(10,20,4326)'::GEO_POINT);SELECTless_than('(1,2,4326)'::GEO_POINT,'(-1,2,4326)'::GEO_POINT);SELECTdistance('(1,2,4326)'::GEO_POINT,'(10,20,4326)'::GEO_POINT);

Page 42: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SGBD-OR:SobrecargadeOperadores

CREATEOPERATOR<(leftarg=GEO_POINT,rightarg=GEO_POINT,procedure=less_than,commutator=>,negator=>=);

SELECT'(1,2,4326)'::GEO_POINT<'(10,2,4326)'::GEO_POINT;

Page 43: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SGBD-OR:UserDefinedAccessMethods

B-tree

Hash

GiST–Rtree2D

Page 44: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SGBD-OR:UDTsmaisComplexos

CREATEORREPLACEFUNCTION_ST_Touches(geom1geometry,geom2geometry)RETURNSbooleanAS'$libdir/postgis-2.1','touches'LANGUAGE'c'IMMUTABLESTRICTCOST100;...

CREATETYPEGeometry(internallength=variable,input=geometry_in,output=geometry_out,send=geometry_send,receive=geometry_recv,typmod_in=geometry_typmod_in,typmod_out=geometry_typmod_out,delimiter=':',alignment=double,analyze=geometry_analyze,storage=main);

Page 45: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

EvoluçãodasTecnologiasdeBancosDados

1960 1970 1980 1990 2000 2010

Geoespacial

PostgreSQL→PostGISMySQL→SpaRalandGeodeRcGeographyTypesSQLite→SpaRaLiteandRasterLiteOracle→OracleSpaRal,GeoRaster,TopologyandNetworkModelsIBMDB2→SpaRalExtenderSQLServer(2008)→SpaRalTypes

ProgramaçãoGeneralizada

Programasdependentesarquivos

BancosDadosOrientadoObjeto

ObjetoRelacional

ModeloBancoDadosHierárquico(IBMIMS)

BancosDadosRelacionais(SGBD-R)

Page 46: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SIGeSGBD-R

•  ComoeraaintegraçãoSIGeSGBD-Rantesdainclusãodosuporteespacial?

SIG

SGBD-RSuporteEspacial

Geometrias AlphaNumérica

SIG

SuporteEspacial

GeomAlpha-Num.

ArquiteturaDual ArquiteturaCamadas

Obs.:ComponenteespacialarmazenadaemcamposdoNpoBLOBouEsquemaTabelas

Obs.:Dadosarmazenadosdeformaisoladaeformatosproprietários

SGBD-R

Page 47: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SIGeSGBD-R:Comopassouaserestaintegração?

•  ArquiteturaIntegrada:TiposdeDadosGeoespaciais•  Padronização:OGCSimpleFeatureseISO/SQL-MMSpaNal

paisesid nome populacao fronteira

1 Alemanha 82.000.000

2 Brasil 190.000.000

... ... ... ...

Touches Overlaps

Disjoint

Contains Within

Equals

Tabelascomfeições:geometriasvetoriais Operaçõesespaciais

Page 48: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

PorqueusarumSGBDcomsuporteespacial?

•  DifusãomassivadedisposiNvosspa0ally-aware:–  Cidadãoscomosensores(Goodchild,2007)–  VolunteeredGeographicInformaNon(VGI)–  Geo-crowdsourcing

•  Aplicaçõescomlocalizaçãogeográficasetornarammaiscomuns:–  99Taxi,EasyTaxi–  GoogleMaps,OpenStreetMap,Wikimapia–  GoogleEarth(maisde1bilhãodedownloads)

•  Jáestamostendo:–  Maiordisponibilidadedeimagensdesatélite(MODIS,LandSat,SenNnel)–  ImagensVANTs/Drones

Page 49: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

UmSistemadeBancosdeDadosEspacialé…

SistemaBancosDados

TiposdeDadosEspaciais

IndexaçãoEspacial

+

+

asinformaçõesgeométricaspodemestarconectadasadadosnão-espacias:“oproprietáriodeumdadolote”

OModelodedadosealinguagemdeconsultadevemsuportarNposespaciaistaiscomopontos,linhas,oupolígonosandsuas

operações(interseção,área,...)

deve-seevitarvarrertodooconjuntodeobjetosquandoseexecutaumaconsultaou

quandoserealizaumajunçãoespacial

Page 50: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

OperaçõesEspaciais

OperaçõesGeométricasOperaçõesMétricas

RelacionamentosEspaciais

Page 51: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Overlay/SetoperaRons

OperadoresGeométricos

Convex

Hull

Bufferdistance

TopologicalTransforms:rotaNon,translaNon,scalechange,symmetry.

DimensionalTransforms:boundary.

ExtracRon:MBR,centroid.

ObjectProperRes:is_convex,is_connected,is_simple.

IntersecNon Union

Difference SymetricDifference

Page 52: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

OperadoresMétricos

•  Length•  Perimeter•  Area•  Distance

Page 53: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

RelacionamentosEspaciais(SpaNalRelaNonships)

•  TopologicalrelaNonships:

•  DirecNonrelaNonships:–  Above,below,north_of,…

•  MetricrelaNonships:–  Distancebetweentwoobjectsarelessthanagivennumberofunits.

Touches Overlaps DisjointContains Within Equals

Page 54: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

RelacionamentosEspaciais(SpaNalRelaNonships)

SpaRalRelaRonshipsinExperimentalQueryLanguages

QueryLanguage SpaRalRelaRonships

Freeman(1975) le�of,rightof,beside,above,below,near,far,touching,between,inside,outside

ATLAS(Tsurutanietal.,1980) areaadjacency,lineadjacency,boundaryrelaNon-ship,containment,distance,direcNon

MAPQUERY(Frank,1982) on,adjacent,within

KBGIS(SmithandPazner,1984) containment,subset,neighborhood,near,far,north,south,east,west

KGIS(IngramandPhillips,1987) distance,overlay,adjacent,overlap

PSQL(Roussopoulosetal.,1988) covering,coveredBy,overlapping,disjoint,near-est,furthest,within,outside,onperimeter

SQLextension(Herringetal.,1988) adjacent,contains,containspoint,enclosedby,intersect,near,selfintersect

Geo-RelaNonalAlgebra(GüNng,1988)

equal,notequal,inside,outside,intersect

SpaNalSQL(Egenhofer,1989) disjoint,equal,meet,overlap,concur,commonBounds

Fonte:EgenhoferandHerring(1990)

Page 55: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,
Page 56: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

AFrameworkfortheDescripNonofTopologicalSpaNalRelaNons

4-intersecNonMatrix(EgenhoferandFranzosa,1991)

Ao

δA

Ao∩Bo

δA∩Bo

Ao∩δB

δA∩δB

Bo δB

Page 57: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,
Page 58: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,
Page 59: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

RefinamentosdaMatrizdeInterseção

Ao

δAA-

BoδBB-

dim(Ao∩Bo)

dim(δA∩Bo)

dim(A-∩Bo)

dim(Ao∩δB)

dim(δA∩δB)

dim(A-∩δB)

dim(Ao∩B-)

dim(δA∩B-)

dim(A-∩B-)

Ao

δAA-

Ao∩Bo

δA∩Bo

A-∩Bo

Ao∩δB

δA∩δB

A-∩δB

Ao∩B-

δA∩B-

A-∩B-

Bo δB B-

9-intersecNonMatrix(Egenhofer,1991)

DimensionExtended9-intersecNonMatrix(ClemenNnietal.,1993)

Page 60: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

OutrasOperaçõesEspaciais

•  CosultasdeProximidade(Closest):–  Consultasdeproximidade.

Page 61: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

OGCSimpleFeature

Page 62: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

OpenGeospaNalConsorNum(OGC)

•  OOGCéumconsórcioformadoporempresas,universidadeseagênciasgovernamentaisdediversospaíses.

•  UmdeseusobjeNvosépromoverodesenvolvimentodepadrõesquefacilitemainteroperabilidadeentresistemasdeinformaçãogeoespaciais.

•  PartedotrabalhodoOGCéapresentadosobaformadeespecificaçõesabertasdeinterfacesepadrõesdeintercâmbio.

•  Site:h�p://www.opengeospaNal.org/

Page 63: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

OqueéaespecificaçãoSimpleFeature(SFS)?

•  EspecificaçãocriadapeloconsórcioOGCquetratadasquestõesderepresentaçãodacomponenteespacialvetorialdedadosgeográficos:–  Basicamente,osaspectosrelaNvosàrepresentaçãodepontos,linhasepolígonos.

•  ASFSédivididaemduaspartes:–  OpenGISImplementaNonSpecificaNonforGeographicinformaNon-Simplefeatureaccess-Part1:Commonarchitecture.

–  OpenGISImplementaNonSpecificaNonforGeographicinformaNon-Simplefeatureaccess-Part2:SQLopNon.

Page 64: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

OGCSFS:ModeloGeométrico

Fonte:OGC(2012a)

Page 65: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

IlustraçãodasGeometrias

Point LineString Polygon

MulNPointMulNLineString MulNPolygon

GeometryCollecNon

Page 66: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

OGCSFS:OperaçõesEspaciaisTouches Overlaps

Disjoint

Contains Within

Equals

IntersecRon Union DifferenceSymetricDifference Buffer

ConvexHull

Ao

δAA-

BoδBB-

dim(Ao∩Bo)

dim(δA∩Bo)

dim(A-∩Bo)

dim(Ao∩δB)

dim(δA∩δB)

dim(A-∩δB)

dim(Ao∩B-)

dim(δA∩B-)

dim(A-∩B-)

Relacionamentosespaciais:DimensionallyExtendedNine-IntersecNonModel

Page 67: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

OperaçõesTopológicas

•  Cadaelementodamatrizdeinterseçãopodeserrepresentadoporumdoselementosdoconjunto{T,F,*,0,1,2},assimdefinidos:

•  T→dim(x)={0,1,2},i.e.x≠Ø•  F→dim(x)=-1,i.e.x=Ø•  *→dim(x)={-1,0,1,2},i.e.nãoimporta•  0→dim(x)=0•  1→dim(x)=1•  2→dim(x)=2

Page 68: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,
Page 69: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

OperadoresTopológicos

•  ST_Contains(geom1,geom2)→0ou1•  ST_Within(geom1,geom2)→0ou1•  ST_Covers(geom1,geom2)→0ou1•  ST_CoveredBy(geom1,geom2)→0ou1•  ST_Touches(geom1,geom2)→0ou1•  ST_Crosses(geom1,geom2)→0ou1•  ST_Overlaps(geom1,geom2)→0ou1•  ST_Equals(geom1,geom2)→0ou1•  ST_Intersects(geom1,geom2)→0ou1•  ST_Disjoint(geom1,geom2)→0ou1•  ST_Relate(geom1,geom2)→'T*F**F***‘•  ST_Relate(geom1,geom2,'T*F**F***’)→0ou1

Page 70: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

PostGIS

h�p://postgis.net

Page 71: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

PostGIS

•  Projetodeso�warelivre(GPLv2)desenvolvidoinicialmentepelaempresaCanadenseRefracNonsResearch:h�p://postgis.refracNons.net

•  ExtensãogeográficaparaoSGBD-ORPostgreSQL:–  Inicialmente:

•  NposgeométricoseoperadoresespaciaisOGCSFS.•  Índiceespacial:árvore-RsobreGiST.

PostGIS

GEOS Proj4

PostgreSQL

QueryPlanner

StorageManager

QueryParser

Page 72: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

PostGIS

•  GrandeevoluçãonosúlNmos3anos:–  Tiposcircularesecompostos,3D–  Tipogeográfico–  Raster–  Topologia–  Redes–  Geocodificaçãodeendereços

PostGIS

GEOS Proj4 GDAL

PostgreSQL

QueryPlanner

StorageManager

QueryParser

Page 73: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Recuperandoobjetosaumacertadistância

•  Fazerumaconsultaconsiderando:–  Ponto:-45.970095-17.5110525–  Raio:1.0–  Operador:ST_DWithin(geom1,geom2,dist)

SELECTnommuni,ST_AsText(geom)ASgeomFROMmg_municipiosWHEREST_DWithin(geom,ST_GeomFromText('POINT(-45.970095-17.5110525)',4618),1.0);

Page 74: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ComoArmazenareGerenciarDadosMatriciais?

Page 75: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Solução1:UsandoumSGBD-Rcomsuportematricial

PostGISRaster

OracleGeoRaster

Page 76: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Solução1:UsandoumSGBD-Rcomsuportematricial

PostGISRaster

OracleGeoRaster

Page 77: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

PostGISRaster

Raster(Matricial-CélulasMulNbandas)

Visãodoespaçonaformadeumagraderetangular,comcélulascontendoumaoumaisvaloresnuméricos

Page 78: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

PostGISRaster

•  OprojetodoPostGISRasterpossibilitatrabalharcomvárioscasosdeusocomimagens:–  Armazémdeimagens(possivelmentenãorelacionados)–  Tiles:

•  Regularesouirregulares(podetermissingNles)

–  indbxoutdbstorage

•  Novasvisõescommetadadosdasimagens:–  raster_columns–  raster_overviews

Page 79: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

PostGISRaster→SQL•  TablecreaNon:

CREATETABLEraster_table(ridSERIALPRIMARYKEY,rastRASTER);

•  SpaNalindexcreaton:CREATEINDEXspidx_table_colONraster_tableUSINGgist(ST_ConvexHull(raster-col));

Page 80: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Organizandoumaimagememblocos(Tiles)

•  UmaestratégiamuitocomumdosSIGéparNcionarumaimagememblocosduranteoarmazenamento.

•  OPostGISrastersuportaestaestratégiadearmazenamento.

Page 81: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

FormatosRasterSuportadospelaGDAL

ACE2 ConvairPolGASP EnvisatImageFormat

ARCDigiNzedRasterGraphics

DIPEx Erdas.LAN/.GIS

ASCIIGriddedXYZ DRDCCOASPSARProcessorRaster

ErdasImagineImages(.img)

AirSARPolarimetricImage DTEDElevaNonRaster ErdasImagineRaw

Arc/InfoASCIIGrid ECRGTOCformat FARSITEv.4LandscapeFile(.lcp)

Arc/InfoBinaryGrid ELAS FITImage

Arc/InfoExportE00GRID ENVI.hdrLabelled FujiBASScannerImage

AzaveaRasterGridformat EOSATFASTFormat GRASSASCIIGrid

CEOSImage ERMapper.ersLabelled GRIddedBinary(.grb)

CEOSSARImage ESRI.hdrLabelled GSCGeogrid

COSARAnnotatedBinaryMatrix(TerraSAR-X)

EUMETSATArchivenaNve(.nat)

GenericBinary(.hdrLabelled)

CTable2DatumGridShi� EarthWatch.TIL ...

Page 82: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

VisualizandotabelasrastercomoQuantumGIS

Page 83: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Overviews(Pirâmides/MulN-resolução)

•  Parâmetroraster2pgsql:-l2,4

Page 84: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ProcessamentodeImagensnoSGBD

Page 85: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Discussão:Atualmente,nãoháumpadrãobemdefinidoparaasextensõesmatriciais.

Page 86: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Discussão:ExistealgumproblemacomoprojetodosuporteRasterdosatuaisSGBD-R?

ComolidarcomosrequisitosdeaplicaçõesdeEOquepodemnecessitarcomoentradadados

massivos?

Page 87: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

OquemaisexistenestaintegraçãoentreSGBD-ReDadosGeográficos?

•  ÍndicesEspaciais:árvores-R,Quadtrees,Fixed-Grid.

•  Armazenamentodadosmatriciais.

•  Armazenamentobaseadoemmodelostopológicos.

•  Redesespaciais:roteamento,análisedefluxo.

Page 88: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

BancosdeDadosxInformaNonRetrieval

•  Bancosdedados→Informaçõesestruturadas–  Esquemas–  SQL

•  IR→maisvoltadoparainformaçõesnãoestruturadascomoprocessamentodedocumentosetextolivre.–  WebSearchEngines–  SVM(SupportVectorMachines)

Page 89: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

EvoluçãodasTecnologiasdeBancosDados

1960 1970 1980 1990 2000 2010

NoSQL/NewSQL/Pós-relacionais

Geoespacial

ProgramaçãoGeneralizada

Programasdependentesarquivos

BancosDadosOrientadoObjeto

ObjetoRelacional

ModeloBancoDadosHierárquico(IBMIMS)

BancosDadosRelacionais(SGBD-R)

Interessante:onúmerodetecnologiasdebancosdedadoscomcaracterísRcasdiferentesdosSGBD-RtemaumentadonosúlRmos8anos!

Page 90: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

O“cardápio”deopçõesaumentou?•  SistemasNão-RelacionaisouNotOnlySQLouPós-relacionais:

–  h�p://nosql-database.org/–  h�ps://en.wikipedia.org/wiki/NoSQL

•  Diferentesmodelosdedados:–  DocumentOriented:MongoDB,CouchDB;–  ColumnStores:Cassandra;–  GraphDatabases:OrientDB,Neo4J;–  ArrayDatabases:SciDB,Rasdaman.

•  NemtodossãobaseadosnoparadigmadetransaçõesACID.

•  Escalabilidade:HorizontalxVerNcal

Page 91: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

SuporteEspacialemNoSQL

•  MongoDB•  CouchDB•  ApacheSolr•  Neo4JSpaNal

Page 92: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Referências

Page 93: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Livros

•  ELMASRI,R.;NAVATHE,S.B.Fundamentalsofdatabasesystems.AddisonWesley,2006.1139p.

•  DATE,C.J.Anintroduc'ontodatabasesystems.Addison-WesleyLongmanPublishingCo.,Inc.,Boston,MA,USA,1991.

Page 94: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

ArNgos•  E.F.Codd.1970.Arela'onalmodelofdataforlargeshareddata

banks.Communica0onsoftheACM,v.13,n.6,June1970,pp.377-387.

•  Chen,P.TheEn'ty-Rela'onshipModel-TowardaUnifiedViewofData.ACMTransacNonsonDatabaseSystems,vl.1,n.1.March1976,pp.9-36.

•  GRAY,J.Evolu'onofDataManagement.IEEEComputer29(10):38-46,1996.

•  Vijlbrief,T.,andP.vanOosterom.TheGEO++System:AnExtensibleGIS.Proc.5thIntl.SymposiumonSpaNalDataHandling,Charleston,SouthCarolina,1992,40-50.

Page 95: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

EspecificaçõesePadrões

•  OGC.OpenGISImplementa'onSpecifica'onforGeographicinforma'on-Simplefeatureaccess-Part1:Commonarchitecture.Availableat:h�p://www.opengeospaNal.org.Access:October,2012.

•  OGC.OpenGISImplementa'onSpecifica'onforGeographicinforma'on-Simplefeatureaccess-Part2:SQLop'on.Availableat:h�p://www.opengeospaNal.org.Access:October,2012.

•  ISO.SQLMul'mediaandApplica'onPackages–Part3:Spa'al.

Page 96: SER 300 – Introdução ao Geoprocessamento · Edgar Frank Codd Fonte: Wikipedia E. F. Codd. 1970. A rela’onal model of data for large shared data banks. Communicaons of the ACM,

Slides

•  NAUGHTON,J.F.DBMSResearch:First50Years,Next50Years.Kynotespeaker’slidesatICDE2010.Disponívelem:h�p://pages.cs.wisc.edu/~naughton/naughtonicde.pptx.Acesso:Abrilde2013.