#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
Como se dá a distribuição de energia elétrica? E a distribuição de usinas?
#qconsp @hannelita
http://sigel.aneel.gov.br/sigel.html
Acessado em 28/3/2016
http://sigel.aneel.gov.br/sigel.html
Acessado em 28/3/2016
Elétrica
Política
Ambiental
Econômico
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
Elétrica
Política
Ambiental
Econômico
CREATE TABLE
CREATE TABLE cidade;
CREATE TABLE regiao_hidrografica;
CREATE TABLE cencessionaria;
#qconsp @hannelita
id | consumo (mensal, em Mwh) | populacao (em milhões) | coordenada |
---|---|---|---|
1 | 40 | 13 | |
2 | 11 | 2 |
cidade
id | Capacidade ( Mwh) | linha de transmissão (PK) | coordenada |
---|---|---|---|
1 | 95 | 22 | |
2 | 11 | 1 |
usina
#qconsp @hannelita
id | consumo (mensal, em Mwh) | populacao (em milhões) | coordenada |
---|---|---|---|
1 | 40 | 13 | |
2 | 11 | 2 |
id | Capacidade ( Mwh) | linha de transmissão (PK) | coordenada |
---|---|---|---|
1 | 95 | 22 | |
2 | 11 | 1 |
usina
2. Aproximar coordenadas das usinas mais próximas baseado-se na capacidade
#qconsp @hannelita
id | consumo (mensal, em Mwh) | populacao (em milhões) | coordenada |
---|---|---|---|
1 | 40 | 13 | |
2 | 11 | 2 |
id | Capacidade ( Mwh) | linha de transmissão (PK) | coordenada |
---|---|---|---|
1 | 95 | 22 | |
2 | 11 | 1 |
usina
3. Verificar as características
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
id | consumo (mensal, em Mwh) | populacao (em milhões) | coordenada |
---|---|---|---|
1 | 40 | 13 | |
2 | 11 | 2 |
id | Capacidade ( Mwh) | linha de transmissão (PK) | coordenada |
---|---|---|---|
1 | 95 | 22 | |
2 | 11 | 1 |
usina
4. Verificar se há indústrias nas proximidades das cidades
#qconsp @hannelita
id | consumo (mensal, em Mwh) | populacao (em milhões) | coordenada |
---|---|---|---|
1 | 40 | 13 | |
2 | 11 | 2 |
id | Capacidade ( Mwh) | linha de transmissão (PK) | coordenada |
---|---|---|---|
1 | 95 | 22 | |
2 | 11 | 1 |
usina
5. Verificar IDH da cidade.
#qconsp @hannelita
id | consumo (mensal, em Mwh) | populacao (em milhões) | coordenada |
---|---|---|---|
1 | 40 | 13 | |
2 | 11 | 2 |
id | Capacidade ( Mwh) | linha de transmissão (PK) | coordenada |
---|---|---|---|
1 | 95 | 22 | |
2 | 11 | 1 |
usina
6. Verificar interesse da concessionária
#qconsp @hannelita
id | consumo (mensal, em Mwh) | populacao (em milhões) | coordenada |
---|---|---|---|
1 | 40 | 13 | |
2 | 11 | 2 |
id | Capacidade ( Mwh) | linha de transmissão (PK) | coordenada |
---|---|---|---|
1 | 95 | 22 | |
2 | 11 | 1 |
usina
7. Verificar se região pode ser abastecida por energia de outras fontes
#qconsp @hannelita
id | consumo (mensal, em Mwh) | populacao (em milhões) | coordenada |
---|---|---|---|
1 | 40 | 13 | |
2 | 11 | 2 |
id | Capacidade ( Mwh) | linha de transmissão (PK) | coordenada |
---|---|---|---|
1 | 95 | 22 | |
2 | 11 | 1 |
usina
7. Verificar se região pode ser abastecida por energia de outras fontes
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
Talvez tabelas não sejam as melhores estruturas para representar informações sobre distribuição de eletricidade
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
Powered by Arrows - http://www.apcjones.com/arrows/#
CREATE (n:Usina:Hidreletrica { name : 'Itaipu', capacidade : '14000' })
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
MATCH (a:Hidreletrica),(b:Cidade)
WHERE a.name = 'Itaipu' AND b.name = 'Ivaipora'
CREATE (a)-[r:FORNECE { capacidade_cabo : 765, rl : 330 }]->(b)
#qconsp @hannelita
#qconsp @hannelita
MATCH (a:Hidreletrica),(b:Cidade)
WHERE a.name = 'Itaipu' AND b.name = 'Cascavel Oeste'
CREATE (a)-[r:FORNECE { capacidade_cabo : 500 }]->(b)
MATCH (a:Cidade),(b:Cidade)
WHERE a.name = 'Ivaipora' AND b.name = 'Cascavel Oeste'
CREATE (a)-[r:MALHA { capacidade_cabo : 500 }]->(b)
#qconsp @hannelita
#qconsp @hannelita
CREATE (n:Concessionaria { name : 'Ficticio',
porcentagem : 85, margem : 72 })
MATCH (a:Concessionaria),(b:Cidade)
WHERE a.name = 'Ficticio' AND b.name = 'Cascavel Oeste'
CREATE (a)-[r:ATENDE]->(b)
MATCH (a:Concessionaria),(b:Usina)
WHERE a.name = 'Ficticio' AND b.name = 'Ita'
CREATE (a)-[r:POSSUI]->(b)
#qconsp @hannelita
MATCH (n:Usina {capacidade : 14000}),
(c:Cidade {name : 'Sao Paulo'})
p = shortestPath((n)-[]-(c)) RETURN p
Queries para determinar otimização de abastecimento através de caminho mínimo
#qconsp @hannelita
#qconsp @hannelita
Capacidade, populacao, coordenadas
#qconsp @hannelita
:Cidade, :Metropole, :Industrial, :Hidreletrica, :Eolica, :Privada
Em geral, elementos agrupáveis merecem uma Label.
#qconsp @hannelita
#qconsp @hannelita
CREATE (n:Componente:Transformador
{ tag : 'F. Iguacu', tipo : 'Terciario', mva : 1650, total : 4 })
MATCH (a:Transformador),(b:Usina)
WHERE a.tag = 'F. Iguacu' AND b.name = 'Itaipu'
CREATE (a)-[r:INSTALADO]->(b)
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
Adicionar queries em um repositório Git - https://github.com/hannelita/qconsp
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
Componente
Trilha
Sensor
Layer
CREATE TABLE componente;
CREATE TABLE trilha;
CREATE TABLE sensor;
CREATE TABLE layer;
#qconsp @hannelita
Déjà vu!
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
CREATE (n:Componente:Primario { name : 'R1',
tipo : 'resistor', valor : '10K' })
CREATE (n:Componente:Primario { name : 'C1',
tipo : 'capacitor', grupo : 'poliester',
valor : '100p' })
CREATE (n:Componente:CI { name : 'CI1',
tipo : 'LM741', fabricante : 'Texas' })
#qconsp @hannelita
MATCH (a:Primario),(c:CI)
WHERE a.name = 'R1' AND c.name = 'CI1'
CREATE (a)-[r:TRILHA { espessura : 2, dilatacao : 0.5 }]->(c)
#qconsp @hannelita
CREATE (n:Componente:Primario:LAYER1
{ name : 'R1', tipo : 'resistor', valor : '10K' })
CREATE (n:Componente:Primario:LAYER2
{ name : 'C1', tipo : 'capacitor',
grupo : 'poliester', valor : '100p' })
CREATE (n:Componente:CI:LAYER1 { name : 'CI1',
tipo : 'LM741', fabricante : 'Texas' })
Fácil de recuperar todos os componentes de uma Layer e suas trilhas
#qconsp @hannelita
#qconsp @hannelita
CREATE (n:Sensor:LAYER1
{ name : 'SS1', tipo : 'luz'})
CREATE (n:Sensor:LAYER2
{ name : 'SS2', tipo : 'temperatura' })
MATCH (a:Primario),(s:Sensor)
WHERE a.name = 'R1' AND c.name = 'SS1'
CREATE (s)-[r:MONITORA { luz : 2 }]->(a)
MATCH (a:Primario),(s:Sensor)
WHERE a.name = 'R1' AND c.name = 'SS2'
CREATE (s)-[r:MONITORA { temperatura : 37 }]->(a)
#qconsp @hannelita
MATCH (n:Sensor)-[r:MONITORA]-(c:Componente)
WHERE n.temperatura > 60
RETURN c.name, r.dilatacao
Decidir se é o componente que está com problemas ou se é a trilha.
Passo 5: Rodar periodicamente a seguinte query
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
#qconsp @hannelita
Perguntas?
hannelita@gmail.com
@hannelita
#qconsp @hannelita