• Nenhum resultado encontrado

Para que o utilizador pudesse obter informação sobre as áreas e os espaços que o ro- deavam, foi necessário criar uma base de dados com toda a informação dos pontos de interesse presentes no edifício do objeto de estudo. Esses pontos podem ser de lazer, como cafés ou então de cariz educativo, como as bibliotecas, salas de aula e gabinetes de professores. A informação armazenada contém, coordenadas geográficas da posição dos pontos, uma breve descrição do tipo de ponto e ainda o piso em que estavam inseridos.

Para realizar a tarefa de criar e importar toda a informação para a base de dados foi necessário a escolha de um Sistema de Gestão de Bases de Dados (SGBD). Um SGBD é, como o próprio nome indica um software que permite criar, manipular e organizar os dados dentro de uma base de dados. Geralmente os SGBD disponibilizam uma interface que permite ao utilizador proceder a manutenções aos dados armazenados. Em pratica- mente todos os SGBD a linguagem utilizada, para realizar as operações de manutenção, é o Structured Query Language (SQL).

Capítulo 4. Concretização do Sistema Navegação Indoor 31

e cada vez mais se torna uma preocupação para grandes companhias que operam com uma grande quantidade de informação que necessita de ser armazenada e consultada de forma rápida e eficiente. Existem vários tipos de modelo de SGBD que definem como os dados são armazenados na base de dados. Entre os mais conhecidos estão, o modelo hierárquico, em rede, relacional e orientado a objetos. Destes tipos de modelo aquele que é mais conhecido e utilizado é o modelo relacional que apresenta os dados sob a forma de tabelas ou relações.

No entanto, e para o contexto deste projeto, foram analisados alguns SGBD relacio- nais, impondo a restrição da não necessidade de um investimento para uso da sua licença e que fossem multi-plataforma, ou seja que fossem compatíveis com alguns os sistemas operativos, em que estes fossem instalados. Como tal foram abordados apenas SGBD open-sourceou de código livre. Entre estes estiveram o PostgreSQL [31] e o MySQL [32].

Tanto o SGBD PostgreSQL, como o SGBD MySQL garantem os princípios ACID [31] [32] (Atomicity, Consistency, Isolation e Durability). Uma simples operação de transferência de dados dá-se pelo nome de transação. Abaixo estão explicados os princípios básicos de uma base de dados confiável [33].

• Atomicity - Este principio exige que cada transação seja "tudo ou nada". Isto é, se uma parte da transação falhar, toda a transação vai falhar, aí o estado da base de dados é deixado inalterado. Um sistema atómico deve garantir atomicidade em qualquer situação, incluindo falhas de energia, erros e falhas.

• Consistency - Este princípio garante que qualquer transação vai levar a base de dados de um estado válido para outro. Todos os dados gravados na base de dados devem ser válidos de acordo com todas as regras definidas, incluindo restrições, cascades, triggers ou uma qualquer combinação destes.

• Isolation - Este princípio garante a execução concorrente de transações. Este pro- cesso resulta num estado do sistema que seria obtido se as operações foram realiza- das em série, isto é, uma após a outra. Fornecer isolamento é o principal objetivo do controlo de concorrência. Dependendo do método de controlo de concorrência, os efeitos de uma transação incompleta podem não ser visíveis para outras transações. • Durability - Este principio significa que uma vez que uma transação for confirmada, esta permanecerá assim, mesmo em caso de queda de energia, falhas ou erros. Para se defender contra a perda de potência, as transações (ou os seus efeitos) devem ser gravados numa memória não-volátil.

Ao analisar os dois SGBD foi notório que o SGBD mais usado é o MySQL, contudo aquele que fornece maior suporte a nível de funções geográficas é o PostgreSQL, com a sua extensão PostGIS. O SGBD MySQL também possui uma extensão geográfica para a

criação de bases de dados com informação geográfica. No entanto a extensão PostGIS é aquela que permite obter resultados baseados em distâncias geográficas de forma efi- ciente. Como tal a escolha para o SGBD a utilizar, para a criação da base de dados, no projeto recaiu sobre o PostGreSQL 9.2 com extensão PostGIS 2.0. Esta escolha refletiu-se também no conhecimento prévio da ferramenta.

Posto isto e através do programa PostGIS 2.0 Shapefile and DBF Loader foi possível carregar toda a informação referente aos pontos de interesse que estão inseridos dentro do edifício, do caso de estudo, o C8. Este processo foi iniciado com a criação de um ficheiro do tipo shapefile, onde foi aglomerada toda a informação geográfica e descritiva dos pontos a armazenar.

O programa PostGIS 2.0 Shapefile and DBF Loader, através da leitura do ficheiro do tipo shapefile, cria uma tabela com toda a informação presente no ficheiro, organizando-a por campos criados automaticamente. Assim a base de dados com a informação dos pon- tos de interesse identificados no edifício C8 contém apenas uma tabela com os seguintes campos,

servicosgeo(gid, x, y, nome, piso, geom)

onde, o campo gid é do tipo número inteiro que serve de identificação da linha na tabela e é a chave primária da mesma, o campo x é do tipo número decimal e corresponde à coordenada Longitude no sistema de coordenadas WGS84, o campo y é do tipo número decimal e corresponde à coordenada Latitude no mesmo sistema de coordenadas, o campo nome é do tipo texto e representa o nome do ponto de interesse, o campo piso é do tipo numérico e representa o piso do edificio em que está inserido o mesmo ponto e por último, o campo geom do tipo tuplo que contém o tipo de geometria correspondente à linha da base de dados, que neste contexto é do tipo Ponto, e o Spatial Reference System Identifier(SRID). Este número é um identificador do Sistema de Coordenadas em que o tipo de geometria está definido. O SRID, na eventualidade de ser necessário transformar o Sistema de Coordenadas da geometria, é usado como input na função de transformação. A base de dados criada está alojada numa máquina física, com um endereço de IP definido, e pode ser acedida através de um user e de uma password. Aquando da ligação da componente do Servidor à base de dados, todos estes parâmetros terão de ser disponi- bilizados.

Documentos relacionados