From 6c2380f9585d97e9aea5e5a7d5e062322852e9e0 Mon Sep 17 00:00:00 2001 From: "Pedro Henrique S. Perruci" Date: Sun, 29 Oct 2017 17:31:17 -0200 Subject: [PATCH 1/2] Criado README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Integradas as informações do arquivo desafio.md no modelo padrão dos demais eventos do Dojo. --- 2017/170722/README.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 2017/170722/README.md diff --git a/2017/170722/README.md b/2017/170722/README.md new file mode 100644 index 00000000..1cb41e85 --- /dev/null +++ b/2017/170722/README.md @@ -0,0 +1,42 @@ +# Coding Dojo UnB + +## Tema: OpenStreetMap + +- Linguagem: Python 3. +- Biblioteca de testes: pytest +- Mestre: @WilleMarcel + +### Desafio .1 + +O OpenStreetMap é um grande banco de dados geoespaciais livre e colaborativo. Vamos utilizar os dados do OSM nesse desafio. O Overpass Turbo é um dos métodos de consulta que dispomos para consultar e extrair dados do OSM. Vamos utilizá-lo para extrair a capital de todos os países do mundo a partir do OpenStreetMap. Você pode acessar essa consulta feita previamente: http://overpass-turbo.eu/s/qxe e exportar o arquivo no formato GeoJSON para utilizá-lo nos próximos passos. Uma simples query nos dá uma infinidade de dados, observe que as cidades possuem informação de nomes em diversos idiomas. Com esses dados, faremos um pequeno jogo. A forma de interação do jogo será pela linha de comando. + +Teremos os seguintes modos de jogo. Trabalharemos cada um deles em um sprint. + +- Sprint #1 -Maior distância +Três cidades serão sorteadas. Uma será o ponto inicial e as outras duas serão os destinos. O jogador deve acertar qual das duas cidades destino fica mais próxima da cidade inicial. + +- Sprint #2 +Tente tratar o problema da linha internacional de data. + +- Sprint #3 - Onde fica +O software apresentará o nome de uma cidade e o jogador terá que responder o nome do país da mesma em inglês. Caso o jogador prefira não responder, ele terá uma segunda chance, onde serão apresentados nomes de 5 países para que ele escolha a opção correta. O jogo não deve fazer distinção entre caracteres minúsculos e maiúsculos. + +- Sprint #4 - Maiores populações +Serão sorteadas 4 capitais e o jogador terá que ordená-las em relação à população, em ordem decrescente. O jogo deve informar a porcentagem de acerto. + +Sugestão: para ser mais fácil de testar, podemos usar uma sintaxe como: + + Fase.problema() + Fase.responder(resposta) + + +### Desafio .2 + +Temos 3 tipos principais de elementos geoespaciais: nós (pontos), linhas e polígonos. Todos eles são constituídos por uma ou mais coordenadas geográficas. A coordenada geográfica é constituída por dois valores: longitude e latitude. +Escreva uma função que retorne o centroide de um elemento geoespacial, sendo ele um nó, uma linha ou um polígono. Escreva uma outra função que retorne o Bounding Box (BBOX) de uma linha ou de um polígono (não é possível calcular a bounding box de um nó). Em todos os casos, o dado de entrada deve ser apenas uma tupla ou lista. + +O usuário deve inserir o nome de dois países e o software deve retornar a distância entre os centroides, além disso o software deve informar se os BBOX se intersectam e qual seria o polígono da área de intersecção dos BBOX + +## Recursos +https://nominatim.openstreetmap.org/search/?country=Argentina&format=json +http://www.openstreetmap.org/relation/286393/ From 3b766071d123ad17a62afaf3dfc25fb9e48339d9 Mon Sep 17 00:00:00 2001 From: Alexandre Augusto Date: Mon, 30 Oct 2017 14:23:43 -0200 Subject: [PATCH 2/2] Update README.md --- 2017/170722/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/2017/170722/README.md b/2017/170722/README.md index 1cb41e85..e177d806 100644 --- a/2017/170722/README.md +++ b/2017/170722/README.md @@ -6,7 +6,7 @@ - Biblioteca de testes: pytest - Mestre: @WilleMarcel -### Desafio .1 +### Desafio 1 O OpenStreetMap é um grande banco de dados geoespaciais livre e colaborativo. Vamos utilizar os dados do OSM nesse desafio. O Overpass Turbo é um dos métodos de consulta que dispomos para consultar e extrair dados do OSM. Vamos utilizá-lo para extrair a capital de todos os países do mundo a partir do OpenStreetMap. Você pode acessar essa consulta feita previamente: http://overpass-turbo.eu/s/qxe e exportar o arquivo no formato GeoJSON para utilizá-lo nos próximos passos. Uma simples query nos dá uma infinidade de dados, observe que as cidades possuem informação de nomes em diversos idiomas. Com esses dados, faremos um pequeno jogo. A forma de interação do jogo será pela linha de comando. @@ -30,7 +30,7 @@ Sugestão: para ser mais fácil de testar, podemos usar uma sintaxe como: Fase.responder(resposta) -### Desafio .2 +### Desafio 2 Temos 3 tipos principais de elementos geoespaciais: nós (pontos), linhas e polígonos. Todos eles são constituídos por uma ou mais coordenadas geográficas. A coordenada geográfica é constituída por dois valores: longitude e latitude. Escreva uma função que retorne o centroide de um elemento geoespacial, sendo ele um nó, uma linha ou um polígono. Escreva uma outra função que retorne o Bounding Box (BBOX) de uma linha ou de um polígono (não é possível calcular a bounding box de um nó). Em todos os casos, o dado de entrada deve ser apenas uma tupla ou lista.