Monitoramento das Atividades Físicas com Power BI – Parte 2 – Importando arquivo GPX através do SSIS

Existem várias maneiras de fazer a importação do(s) arquivo(s) GPX para o SQL Server. Uma delas é através do SSIS (SQL Server Integration Services), a qual iremos abordar.

Feito o download do(s) arquivo(s), conforme explicado no post Monitoração das Atividades Físicas com Power BI – Parte 1 – Conhecendo o Strava, vamos para a segunda etapa.

2° Etapa – Importação do(s) Arquivo(s) GPX para o SQL Server, através do SSIS.

A primeira coisa a se fazer é criar um banco de dados.

  • Abra o SSMS (Microsoft SQL Server Management Studio) e crie o(s) banco(s) de dados, no qual o Projeto do SSIS irá se conectar para fazer a importação do(s) arquivo(s).

vc7

  • Criado o banco de dados acima, abra o Visual Studio -> File ->New -> Project

vs1.png

  • Selecione Integration Services Project
  • Dê um nome ao seu projeto e escolha qual caminho deverá ser salvo
  • Clique em ok.

vs2.png

vs3

É necessário criar algumas conexões:

Connection Managers: Conexão OLDB, vai conectar pacote criado com o(s) banco(s) de dado(s), necessários.

  • Botão direito do mouse em cima de connection managers -> New connection managers -> OLDB -> add

vs4

  • Selecione new

vs5

  • Configure a conexão selecionando os campos em vermelho (de acordo com o seu ambiente)  e teste a conexão.

vs6

  • Conexão criada com sucesso, clique em ok.

vs7.jpg

Pronto, a conexão do Projeto Strava já está conectada com o banco de dados Strava, clique em OK.


vs8.jpg

A conexão criada acima, já aparece no Solution Explorer ->Atividades Físicas -> Connection Managers.

vs9.jpg

Depois de criada a conexão com o banco de dados, é necessário criar uma outra conexão para ler o arquivo GPX (XML) : New File Connection.

  • Botão direito do mouse, na área connection managers, na parte debaixo do visual studio e clique em New File Connection.

vs10.jpg

  • Selecione o arquivo que vai ser importado pelo Browse e clique em OK.

vs11.jpg

As duas conexões necessárias para esse projeto, foram criadas: OLDB e Connection File.

vs12.jpg

  • No SSIS Toolbox, expanda a aba favorites e arraste a Task Data Flow para a área Control Flow.

vs13.jpg

  • Dê dois cliques na Task Data Flow e arraste para o Data Flow, a Task XML, se quiser pode renomea-la.

vs14.jpg

  • Dê dois clicks em cima da Task Import Arq GPX e selecione o arquivo a ser importado, criando também um XSD.

vs15.jpg

  • Selecionado o arquivo, clique em colunas, selecione trkpt.

vs17

Às vezes, ao fazer o carregamento do arquivo XML, pode ocorrer o seguinte warning:

vs19

Esse warning deve-se ao fato de o arquivo XSD definir suas colunas baseadas em sequências de caracteres, que não possuem um comprimento máximo e mínimo, observado dentro do próprio arquivo.

Para corrigir esse warning, basta editar o arquivo XSD e fazer as seguintes alterações:

vs20.jpg

Alterando o XSD:

vs21

Após alterar o XSD, salve e feche. Repare que ao clicar novamente na Task Import Arq GPX -> columns, o warning já não aparece mais.

vs17.jpg

Esse warning também pode ser corrigido, acessando a Task Import Arq GPX, selecionando a opção Exibir Editor Avançado ou escolher a opção de conversão de dados e converter as colunas para os tipos adequados.

Os arquivos GPX (XML) possuem várias estruturas hierárquicas, e para resolver essa configuração, o SSIS produz múltiplos conjuntos tabulares para essas estruturas hierárquicas.

Um ou vários arquivosGPX (XML), pode ser carregado em várias tabelas diferentes.

Depois de configurado o arquivo GPX (XML), o próximo passo é salvar os dados desse arquivo em uma tabela destino do SQL Server:

  • Em SSIS Toolbox, expanda a aba Other Destinations -> OLDB Destination e arraste para o Data Flow.

vs22.jpg

  • Faça a conexão entre a Task Import GPX e a Task Table Destino SQL Server, através da seta azul, e escolha uma saída.

vs23.jpg

vs24.jpg

  • Dê dois cliques na Task Table Destino SQL Server, configure-a, para que a importação do GPX (XML) ocorra com sucesso!

vs25.jpg

É preciso selecionar uma tabela para receber o arquivo GPX (XML). Isso pode ser feito de duas formas:

            – Selecionar a tabela já existente no banco de dados Strava, através do campo Name of the table or the view

            – Selecionar a opção New. Assim, o SSIS já cria a tabela com os campos e os tipos de dados. Para isso, basta clicar no ícone New:

vs28.jpg

  • Após escolher o nome da tabela que vai ser criada, clique em ok.

vs30.jpg

  • Selecione a aba Mapeamentos e confira se as colunas de entrada estão de acordo com as colunas de saída.

vs31.jpg

  • Clique em Ok.

vs32.jpg

  • Execute o SSIS Packages  (no nosso exemplo, Ciclismo.dtsx.)

vs33.jpg

A execução ocorreu com sucesso.

VS35.jpg

  • Abra o SSMS,  digite select *from na tabela GPX e visualize os dados importados.

vs36.jpg

Depois de importado para o SQL Server o(s) arquivos(s) GPX (XML), vamos para a próxima etapa que será criar alguns dados espaciais(uma coluna geográfica que irá receber a localização).

Post 3 Monitorando atividades Físicas com o Power BI – Parte 3 –  Criando Dados Espaciais.

Monitoração das Atividades Físicas com Power BI – Parte 1 – Conhecendo o Strava