OSGeo Planet

Fernando Quadro: Introdução ao Leaflet – Estilos

OSGeo Planet - 10 hours 14 min ago

Hoje vamos dar uma olhada em outro plugin, que nos permite alterar interativamente o estilo de recursos em nosso mapa: Leaflet.StyleEditor. Isso ilustra como podemos personalizar nosso mapa alterando estilos dinamicamente e também serve como ponto de partida para uma personalização ainda maior.

1. Instalar o plugin

A página do plugin fornece informações sobre como instalá-lo. Isso requer a obtenção dos arquivos css, js e imagens, inseri-los no local adequado e, em seguida, fazer referência a eles em nosso arquivo HTML:

  <link rel="stylesheet" href="/stylesheets/leaflet.css" />   <link rel="stylesheet" href="/stylesheets/Leaflet.StyleEditor.min.css" />   <script src="/js/leaflet.js"></script>   <script src="/js/Leaflet.StyleEditor.min.js"></script>

Adicionamos as linhas 2 e 4 após os arquivos CSS e JavaScript do Leaflet.

O plugin espera encontrar seus arquivos de imagem em um diretório chamado img, um nível acima do arquivo CSS.

2. Adicionar o Editor de Estilo ao Mapa

Em seguida, modificamos o código JavaScript para adicionar o controle ao mapa:

//Initialize the StyleEditor let styleEditor = L.control.styleEditor({ position: 'bottomleft' }); map.addControl(styleEditor)

Isso coloca o controle do editor no canto inferior esquerdo do mapa. Para fazer isso, verifique se você ainda não tem um controle posicionado lá.

3. Usar o Editor de Estilo

Para usá-lo, clique na ferramenta no canto inferior esquerdo e, em seguida, clique em um recurso para exibir o editor:



Aqui nós mudamos o estilo da linha e a largura. Brinque com o editor para ver o que você pode mudar para marcadores e linhas (não temos polígonos no nosso mapa).

Você pode personalizar ainda mais a configuração do editor de estilo:

//Initialize the StyleEditor let styleEditor = L.control.styleEditor({ position: 'bottomleft', colorRamp: ['#1abc9c', '#2ecc71', '#3498db'], markers: ['circle-stroked', 'circle', 'square-stroked', 'square'] });

Isso configura as cores e estilos de marcadores disponíveis para o editor. Nós não mudamos nada, então o que você vê no mapa são os padrões.

4. O Código

Para baixar o código fonte completo, clique aqui.

Categories: OSGeo Planet

gvSIG Team: Tutorial gratuito: “Utilização do gvSIG para identificação de áreas adequadas para instalação de usinas fotovoltaicas”

OSGeo Planet - Wed, 2019-04-17 12:49

Durante o 4º Festival gvSIG, Graciele Rediske, da Universidade Federal de Santa Maria – UFSM e da Comunidade gvSIG-Brasil apresentou “Utilização do gvSIG para identificação das áreas adequadas adequadas para instalação de usinas fotovoltaicas “, um projeto que também têm a participação dos professores Gilberto Cugler e Júlio CM Siluk.

Eles já disponibilizados em toda a Comunidade um tutorial detalhado que mostra como identificar as áreas para instalação de usinas fotovoltaicas através do uso do gvSIG Desktop, no qual foram aplicadas várias etapas de geoprocessamento, realizando as análises através da tabelas de atributos. Você pode baixar o tutorial no seguinte link.

Cado você não consiga acompanhar a apresentação ao vivo, você possui aqui disponível a gravação dela:

Categories: OSGeo Planet

Fernando Quadro: Introdução ao Leaflet – QGIS

OSGeo Planet - Wed, 2019-04-17 10:30

Hoje vamos usar o plugin qgis2web para exportar seus dados do QGIS para um mapa utilizando a biblioteca Leaflet.



1. Instalando o qgis2web

O plugin qgis2web é instalado como qualquer outro no QGIS. Clique no item de menu Plugins->Manage and Install Plugins, clique em Not installed e, em seguida, localize o qgis2web na lista. Clique no botão Install plugin para concluir a instalação.

Você encontrará um ícone adicionado à barra de ferramentas Plug-ins, além de uma entrada no menu Web.

2. Preparando o Projeto QGIS

Com o qgis2web instalado, clique na guia Help e leia as informações. Sob o título Usage, você encontrará algumas dicas sobre como preparar seu projeto do QGIS para exportação:

  • 1. Defina o título do seu projeto e o plano de fundo e destaque as cores em Projeto-> Propriedades do Projeto
  • 2. Dê a suas camadas nomes humanos amigáveis ​​no painel Camadas
  • 3. Dê às suas colunas das camada nomes amigáveis ​​para o usuário via Camada-> Propriedades-> Campos-> Alias
  • 4. Esconda as colunas que você não deseja que apareçam nos seus pop-ups, alterando o widget Editar para “Hidden”
  • 5. Se algum dos campos contiver nomes de arquivos de imagens, altere o widget Editar para “Photo” para que as imagens apareçam nos pop-ups
  • 6. Estilize suas camadas e defina sua visibilidade dependente de escala, se necessário

Dê uma atenção especial ao item 4 se suas camadas tiverem muitos campos de atributos. Por padrão, todos eles serão incluídos no pop-up no mapa do Leaflet. Você pode modificar o widget Editar para uma camada abrindo suas propriedades no QGIS (clique duas vezes no nome da camada) e selecionando Attributes Form.

3. Usando o qgis2web

O plugin qgis2web suporta exportação para OpenLayers e Leaflet.



Selecione as opções para cada camada, incluindo se ela está incluída no mapa, sua visibilidade e opções de campo.

Na aba Appearance você pode definir várias opções, incluindo:

  • Adicionar uma lista de camadas
  • Pesquisar camadas
  • Ferramenta de medida
  • Extensão do mapa (extensão de tela completa ou atual)
  • Níveis de zoom (min e max)

Você pode visualizar o mapa, mas esteja ciente de que, se houver muitos recursos em suas camadas, poderá levar muito tempo para ser renderizado.

Você pode ver na visualização que temos várias colisões de rótulos. Não reservamos tempo para modificar os widgets de edição das camadas, então o que você vê é o padrão.

Clicar em exportar converte seus dados para GeoJSON e cria o arquivo index.html.

4. Resultados



O mapa resultante tem um controle de camada com boa legenda e o controle de zoom padrão. Os pop-ups de cada camada são incluídos no arquivo index.html. Você pode modificá-los ao seu gosto.

Removemos a rotulagem dos rios para eliminar as colisões.

Com o plugin qgis2web, você pode gerar um mapa rápido ou criar um ótimo ponto de partida para ajustar o seu mapa.

Categories: OSGeo Planet

gvSIG Team: El valor estratégico de la georreferenciación. Debate gvSIG – ESRI

OSGeo Planet - Wed, 2019-04-17 09:35

El valor estratégico de la georreferenciación, bajo este título y en el marco de la Semana Informática se realizó el pasado 9 de abril un interesante debate entre gvSIG y ESRI. En la mesa los dos modelos posibles para abordar las necesidades relacionadas con la componente geográfica: software libre o privativo.

Un debate enriquecedor en el que tuve la suerte de participar, como Director General de la Asociación gvSIG, junto a Kevin Bidon-Chanal como Industry Manager Executive de Administración Local de Esri España.

Aquí podéis acceder a la grabación de la sesión (empieza aproximadamente en el 1:52:20).

Y aquí tenéis disponible la presentación que utilicé para mi ponencia:

https://es.slideshare.net/coiicv/alvaro-anguix-gvsig-suite-y-la-importancia-de-la-geomtica

Categories: OSGeo Planet

CARTO Blog: Building a recommendation system for Site Planning

OSGeo Planet - Tue, 2019-04-16 10:00
When it comes to Site Planning applications, organizations have a strong desire to combine data from different sources not only to derive insights at a particular location ...
Categories: OSGeo Planet

Fernando Quadro: Introdução ao Leaflet – Plugins

OSGeo Planet - Mon, 2019-04-15 10:30

Em essência, o Leaflet é projetado para ser leve. Dito isto, existem centenas de plugins disponíveis para ampliar e melhorar as funcionalidades dos seus mapas na web.

Hoje vamos ilustrar a adição de um plugin ao nosso mapa a partir do dia 6.

O plugin L.Control.ZoomBar adiciona um controle de zoom personalizado que nos permite desenhar uma caixa ao redor da área que queremos ampliar, bem como adicionar um botão Home para retornar à visualização inicial do mapa.

1. Instalando o Plugin

O procedimento de instalação de um plug-in do Leaflet varia. Alguns são instalados usando npm outros, colocando manualmente os arquivos. Para o plugin ZoomBar, a instalação é um processo manual.

O plugin e as instruções podem ser encontrados em:
https://github.com/elrobis/L.Control.ZoomBar.

Depois de baixar os arquivos e colocá-los no(s) local(is) apropriado(s), adicionamos o seguinte referência ao cabeçalho do nosso arquivo HTML:

<link rel="stylesheet" type="text/css" href="stylesheets/L.Control.ZoomBar.css"/> <script type="text/javascript" src="js/L.Control.ZoomBar.js"></script>

As imagens para o plugin ZoomBar devem ser instaladas no mesmo local que outras imagens do Leaflet, no nosso caso:

stylesheets/images

2. Configurando o Controle

Em seguida, precisamos fazer algumas modificações no nosso arquivo JavaScript. A declaração do mapa é alterada para:

var map = L.map(document.getElementById('mapDIV'), { center: [-20.231, -44.250], zoom: 9, zoomControl: false });

Alteramos um pouco o centro do mapa, bem como o nível de zoom, para começarmos com uma visão mais ampla. A opção zoomControl:false desativa o controle de zoom padrão para que possamos usar o ZoomBar.

Agora tudo o que precisamos fazer é adicionar o ZoomBar no final do código JavaScript:

// Adicionando o ZoomBar var zoom_bar = new L.Control.ZoomBar({position: 'topleft'}).addTo(map);

Observe que definimos a posição no canto superior esquerdo do mapa. Por padrão, ele ficará lá, mas isso ilustra a opção necessária para definir o local do controle. Por exemplo, se quiséssemos no canto superior direito, usaríamos:

var zoom_bar = new L.Control.ZoomBar({position: 'topright'}).addTo(map);

Com essas poucas alterações, obtemos o novo controle de zoom no canto superior esquerdo:



Clicar no botão de zoom para a área (inferior) nos permite desenhar uma caixa de zoom e aplicar zoom nela.

O botão home nos retorna para a visualização inicial.

Nota: em telas pequenas (ou seja, Mobile), o botão de zoom na área não é exibido devido ao recurso de zoom de captura do dispositivo. Se você não vir o botão inferior, é por isso.

Dê uma olhada na página Plugins do Leaflet para ver o que mais você pode achar útil.

3. O Código

Para visualizar o código-fonte completo, clique aqui.

Categories: OSGeo Planet

FOSS4G 2019 Bucharest: Deadline is coming

OSGeo Planet - Fri, 2019-04-12 23:32

FOSS4G 2019 Bucharest is just around the corner and the first clear sign is the imminent approach of the call for talks/workshops closing date. Monday, the 15th is the last day when you can send your contribution to the 2019 global FOSS4G. We have received great submissions so far and we know just how magical a weekend can for to creative thinking before a deadline!

Categories: OSGeo Planet

gvSIG Team: Municipality platform for geographic information management

OSGeo Planet - Thu, 2019-04-11 09:55

Here you have a video where we introduce you to the gvSIG Suite applied to municipality management. It will surely give you a sense of the multiple uses of gvSIG solutions to optimize municipality management.

Related to this, there are several presentations about real cases studies at the following links: in English and in Spanish!

And we also remember you that there’s a free of charge course (with professional certification available) where you can learn about how to work with gvSIG Suite at local administration, a course that thousands of users have followed. Are you up for it?

Course link: I’m going to take the course!

Categories: OSGeo Planet

Marco Bernasocchi: Win a QField jump-start package, use #MyQField

OSGeo Planet - Thu, 2019-04-11 07:48

Do you want to win a QField jump-start package worth 550€?

We are launching the #MyQField challenge. Follow us on Twitter and show us how you use @QFieldForQGIS by tagging your tweets with #MyQField and #dataisoutside. The tweet with most likes and retweets by 24.4.19 wins the training!

Rules

Fine boring prints:

  • Recourse to the courts is not permitted
  • There will be no correspondence regarding the competition
  • No cash payouts can be made
  • Participants have no enforceable claims to the transfer, payment or exchange of winnings

Want to win a @QFieldForQGIS jump-start package worthed 495€?
we are launching the #MyQField challenge. Follow us and show us how you use @QFieldForQGIS by tagging your tweets with #MyQField and #dataisoutside

The tweet with most likes and retweets by 24.4.19 wins the training! pic.twitter.com/pjCkazptbQ

— OPENGIS.ch (@OPENGISch) April 10, 2019
Categories: OSGeo Planet

Fernando Quadro: Usando a API REST do GeoServer com Python

OSGeo Planet - Wed, 2019-04-10 10:30

Como muitos de vocês sabem, o GeoServer possui uma interface RESTful para interagir com seus dados. Se você estiver usando o REST via Python, há uma biblioteca padrão, mas não é bem documentada, porém existe uma biblioteca chamada gsconfig, criada pelos desenvolvedores do GeoServer, que simplifica o processo.

O relato abaixo foi descrito por Andrew Dennison do blog GAIA Resources, que utilizou recentemente essa biblioteca para publicar camadas do PostGIS no GeoServer. Vamos aos passos:

1. Instalar o gsconfig

Isso está bem explicado na documentação aqui.

2. Conectar no GeoServer

O primeiro passo depois de ter o gsconfig instalado é fazer uma conexão com sua instância do GeoServer

cat = Catalog('http://localhost:8080/geoserver/rest')

3. Criar um novo espaço de trabalho (workspace)

Agora crie um novo espaço de trabalho se você não tiver um já configurado

ws = cat.create_workspace('newWorkspaceName','http://example.com/testWorkspace')

4. Criar uma nova fonte de dados (Store) a partir do PostGIS

O próximo passo é criar uma nova fonte de dados apontando para um banco de dados PostGIS existente. Uma dica aqui é se a camada que você deseja publicar estiver em um esquema diferente de “público”, certifique-se de fornecer o esquema na conexão. Descobri que, quando não fornecia, o GeoServer não pegava a projeção da minha camada quando eu publicava.

ds = cat.create_datastore('newDatastoreName','newWorkspaceName') ds.connection_parameters.update(host='localhost', port='5432', database='postgis', user='postgres', passwd='password', dbtype='postgis', schema='postgis') cat.save(ds)

5. Publicar uma camada

Agora use o espaço de trabalho e a fonte de dados que você acabou de criar para publicar uma camada do PostGIS

ft = cat.publish_featuretype('newLayerName', ds, 'EPSG:4326', srs='EPSG:4326')

O primeiro código epsg é a projeção nativa da camada e o segundo é a projeção publicada. Eles não têm que ser o mesmo, mas neste caso a camada já está na projeção desejada.

6. Criar um novo estilo a partir de um SLD

Se você quiser aplicar um estilo diferente à sua camada publicada, você pode criar um novo estilo a partir de um SLD, caso contrário pule esta etapa e o GeoServer aplicará o estilo padrão.

with open(path_to_sld_file) as f: cat.create_style('newStyle', f.read(), overwrite=True)

*overwrite = true (sobrescreverá qualquer SLD existente com o mesmo nome).

7. Aplicar o novo estilo à camada

Aplique o seu estilo recém-criado à sua nova camada.

layer = cat.get_layer('newLayerName') layer.default_style = newStyle cat.save(layer)

O gsconfig é uma ótima biblioteca e com um pouco de esforço para descobrir isso, abstrai muito do trabalho envolvido em fazer solicitações REST para o GeoServer.

Fonte: Gaia Resources Blog

Categories: OSGeo Planet

FOSS4G 2019 Bucharest: Announcing the FOSS4G EO Data Challenge

OSGeo Planet - Tue, 2019-04-09 23:02

FOSS4G2019 Bucharest has in its foundation the belief that we live fortunate times having access to unprecedented technological and informational resources. For the first time in human history, we have an authentic opportunity to understand our changing environment and thus to make the right decisions for our future. True to our belief, we are launching today the EO Data Challenge, a competition inviting startups, developers, students and researchers to imagine and build valuable open source applications using large volumes of EO data and state-of-the art technologies. We are honoured to have as partners in this quest leaders from the industry and governmental and international institutions. Their valuable contribution and interest in the EO Data Challenge activities and results come to reaffirm the importance of this endeavor, which, we hope, could be relaunched in the following years.

Curious to see whom will look at your work or, even better, whom could be by your side in your challenge? Find out all the details here.

Categories: OSGeo Planet

Marco Bernasocchi: QField jump-start packages

OSGeo Planet - Tue, 2019-04-09 14:11

You want to start collecting field data but never worked with a GIS before?

You are a passionate QGIS user and would like a jump start your fieldwork setup?

You are a senior GIS manager and would like to optimize your teams’ mobile data collection efficiency?

Let us you introduce the QField jump-start packages

During a half day or full day private support session, our QFields experts will help you get started with your project as fast as possible.

The QField jump-start packages are available in English, German, French, Italian and Spanish and can be held remotely or at one of our offices in Switzerland.

Half day – 495€ instead of 550€
  • Introduction to QField usage
  • QGIS Project set-up
  • Data synchronization with QFieldSync
Full day – 990€ instead of 1100€
  • Basemaps preparation
  • Data model analysis
  • QGIS Project optimization
  • Other data synchronization strategies
Interested?

fill the form below and we’ll get back at you with possible dates

[contact-form]
Categories: OSGeo Planet

Fernando Quadro: Introdução ao Leaflet – Adicionando link

OSGeo Planet - Tue, 2019-04-09 10:30

Nesta postagem, adicionaremos um link ao pop-up que exibirá a visualização de satélite no Google Maps. A API para trabalhar com URLs do Google Maps pode ser encontrada aqui: https://developers.google.com/maps/documentation/urls/guide.

1. Adicionando link na pop-up

Para adicionar um link para marcador no pop-up, modificamos o código JavaScript que cria a camada:

var towns = L.geoJSON(trail_stops,    {pointToLayer: function(feature, latlng){       return L.circleMarker(latlng, {radius: 5, color: '#00008b',                                       fillOpacity: 0.5});   },   onEachFeature: function( feature, layer){       var townName = feature.properties.name;       var elevation = feature.properties.elev_in_m;       var lat = feature.properties.prim_lat_d;       var lon = feature.properties.prim_lon_1;       var url = 'https://www.google.com/maps/@?api=1&map_action=map&center=' +                  lat + ',' + lon + '&zoom=15&basemap=satellite';       layer.bindPopup('Name: ' +                        townName + '' + '
' +                       '
Elevation: ' + elevation +                       '
Lat/Lon: ' + lat + ' , ' + lon);       layer.on('mouseover', function() {layer.openPopup();});       //layer.on('mouseout', function() {layer.closePopup();});   }   });

As linhas 11 e 12 configuram o URL. Quando construído no loop onEachFeature, um exemplo se parece com isto:

https://www.google.com/maps/@?api=1&map_action=map¢er=61.1158333,-146.2663889&zoom=10&basemap=satellite

Esta URL fará com que o mapa centralize a visão nas coordenadas dadas com um nível de zoom de 15. O parâmetro basemap=satellite ajusta o mapa a uma visão satélite. Outras opções são roadmap (o padrão) e terrain.

Nas linhas 13 a 14, o link é construído usando a URL base e os dados de coordenadas de nossa camada. A parte Elevation e Lat / Lon definadas para a pop-up permanecem inalteradas.

A linha 18 é comentada para fazer o pop-up ficar visível quando o mouse é movido. Isso nos permite clicar no link. O pop-up permanece até que outro receba o evento mouseover ou você o feche clicando no “x”.



2. Código

Para baixar o código descrito acima, clique aqui.

Categories: OSGeo Planet

QGIS Blog: QGIS Server 3.4.6 certified for WMS 1.3

OSGeo Planet - Mon, 2019-04-08 15:09

We are very happy to announce that QGIS 3.4.6 LTR is now OGC certified as a reference implementation : qgis_server_ogc_badge_2019

The OGC certification program gives a third party validation that the a web service is compliant with the standard.

The certification process requires manual work, so we will only certify on version for each LTR.  This was not enough, so we build a OGC CI test platform that is checking compliance every night for WMS and WFS, so that you can check by yourself any specific version commit.

However WMS 1.3 is only the basics, if you rely on other services like WFS, WCS, or advanced capabilities like Raster or Vector Elevation, we are looking for supporters!

As the future is almost now If you want QGIS to be on the cutting edge with the upcoming WFS3, a JSON-REST modern version of WFS, please get in touch. We’d love to push this both into QGIS server and Desktop.

Categories: OSGeo Planet

gvSIG Team: GIS audiovisual course audiovisual with Game of Thrones cartography

OSGeo Planet - Mon, 2019-04-08 14:39

Some days ago we launched an idea: what if we celebrate the broadcast of the Game of Thrones final season with a GIS course? The enthusiastic response that we obtained in social networks has encouraged us to record a new course to learn SIG using the Game of Thrones cartography. The collaboration between the gvSIG Association and the Miguel Hernández University has made it possible. Video-quality tutorials, easy to follow and replicate. Of course the course is totally free of charge. You only have to follow each of the modules/videos of the course, and use the free and open source gvSIG Desktop software to be able to replicate the exercises shown at the videos. The files with the necessary cartography to follow the course are also available.

All the videos are available in a Youtube playlist, which you can access by clicking on the following link: Playlist. For those who prefer it, the course is also available in Spanish.

Syllabus

The course is formed by these modules:

  • Loading data in a GIS
  • Attribute tables
  • Navigation in a GIS
  • Selection by attributes
  • Table editing
  • Hyperlink
  • Adding coordinates
  • Field calculator
  • Exporting view to image
  • Legends and symbology
  • Labelling
  • Graphical editing
  • Geoprocessing
  • Layouts
Software

The software that we will use during the course is gvSIG Desktop 2.5. For newcomers, gvSIG Desktop is a free and open source Geographical Information System, available in more than thirty languages and with distributions for Windows and Linux (distribution for Mac will be available at the final version).

Those who regularly follow the gvSIG project news, you will know that the latest version of gvSIG Desktop is 2.4, and that 2.5 is in the stabilization phase. And why do we launch the course on gvSIG 2.5, if it is not a final version? On the one hand because it brings some very interesting novelties that can be used during the course and, on the other hand, because in exchange for enjoying this course you can help us to test gvSIG 2.5 and detect bugs.

Categories: OSGeo Planet

gvSIG Team: Curso audiovisual de SIG con cartografía de Juego de Tronos

OSGeo Planet - Mon, 2019-04-08 14:39

Hace unos días lanzamos una idea, ¿y si celebramos la emisión de la temporada final de Juego de Tronos con un curso de SIG? La entusiasta respuesta que obtuvimos en las redes sociales, nos ha animado a grabar un nuevo curso para aprender SIG utilizando la cartografía de Juego de Tronos. La colaboración entre la Asociación gvSIG y la Universidad Miguel Hernández lo ha hecho posible. Vídeo-tutoriales de calidad, fáciles de seguir y de replicar.

Por supuesto el curso es totalmente gratuito. Simplemente debéis ir siguiendo cada uno de los módulos/vídeos del curso, y utilizar el software libre y gratuito gvSIG Desktop para poder replicar los ejercicios mostrados en los vídeos. Los ficheros con la cartografía necesaria para seguir el curso también los tenéis disponibles.

Todos los vídeos están disponibles en una lista de reproducción de Youtube, a la que podéis acceder pulsando en el siguiente enlace: Lista de reproducción

Para aquellos que lo prefieran, el curso también está disponible en inglés.

Temario

El curso está dividido en los siguientes módulos:

  • Cargar datos en un SIG
  • Tablas de atributos
  • Navegación en un SIG
  • Selección por atributos
  • Edición de tablas
  • Hiperenlace y herramientas de información
  • Añadir coordenadas
  • Calculadora de campos
  • Exportar Vista a imagen
  • Leyendas y simbología
  • Etiquetado
  • Edición gráfica
  • Geoprocesamiento
  • Mapas
Software

El software que utilizaremos durante el curso es gvSIG Desktop en su versión 2.5. Para los recién llegados, gvSIG Desktop es un Sistema de Información Geográfica libre y gratuito, disponible en más de una treintena de idiomas y con distribuciones para Windows y Linux (habrá portable para Mac en la distribución final).

Los que sigáis habitualmente las novedades del proyecto gvSIG, sabréis que la última versión de gvSIG Desktop es la 2.4, y que la 2.5 está en fase de estabilización. ¿Y porqué lanzamos el curso con gvSIG 2.5, si no es una versión final? Por un lado porque trae algunas novedades muy interesantes que ya se pueden usar durante el curso y, por otro, porque a cambio de poder disfrutar de este curso nos podéis ayudar a testear gvSIG 2.5 y a detectar errores.

Categories: OSGeo Planet

Fernando Quadro: Introdução ao Leaflet – Calculando distância

OSGeo Planet - Mon, 2019-04-08 10:30

Hoje vamos usar o Turf.js para calcular a distância entre dois pontos ao longo da trilha. O Turf.js é classificado como “Análise geoespacial avançada para navegadores e Node.js.” A distância calculada é uma distância em linha reta em vez de quilômetros de trilha reais.

1. Incluindo o Turf.js

Para calcular a distância, precisamos incluir o Turf.js em nosso projeto. Em vez de instalá-lo localmente, basta adicionar essa linha ao cabeçalho do seu HTML:

  <script src='https://npmcdn.com/@turf/turf/turf.min.js'></script>

O Turf.js vem como um único arquivo JavaScript e é bem grande. Se você planeja usá-lo regularmente, considere fazer uma compilação personalizada que contenha apenas os recursos necessários. Você pode encontrar informações sobre como fazer isso no site do Turf.js.

2. Configurando o HTML

Precisamos adicionar dois dropdowns (selecionados): uma para o local “de” e outra para o local “para”. Também criamos um botão “calcular” e um div para conter o resultado:

Calculate distance from:      <select id='fromBox'>     </select> to:      <select id='toBox'>     </select>     <input type="button" id="calculate" value="Calculate">     <div id="distanceResult"></div>

3. Calculando e exibindo a distância

Primeiro, configuramos os dois campos dropdown com a lista de marcos (markers). Para calcular a distância, obtemos as informaçõe “De” e “Para” e passamos as coordenadas como objetos turf.point para a função de distância do Turf.js.

  fromBox = document.getElementById('fromBox');   toBox = document.getElementById('toBox');   var featuremap = {};   for (var i = 0; i < trail_stops['features'].length ; i++){       feature = trail_stops['features'][i];       //console.log(feature['properties']['name']);       featuremap[feature['properties']['name']] = feature['properties'];       var fromopt = document.createElement('option');       fromopt.value = feature['properties']['name'];       fromopt.innerHTML = feature['properties']['name'];       fromBox.appendChild(fromopt);       var toopt = document.createElement('option');       toopt.value = feature['properties']['name'];       toopt.innerHTML = feature['properties']['name'];       toBox.appendChild(toopt);   }   document.getElementById('calculate').onclick = calculateDistance;   function calculateDistance(){       from = fromBox.value;       to = toBox.value;       fromobj = featuremap[from];       toobj = featuremap[to];       var fromPt = turf.point([fromobj['prim_lon_1'], fromobj['prim_lat_d']]);       var toPt = turf.point([toobj['prim_lon_1'], toobj['prim_lat_d']]);       var distance = turf.distance(fromPt, toPt, {units: 'kilometers'});       console.log(distance)       var distanceMiles = distance * 0.6214               document.getElementById('distanceResult').innerHTML = 'Distance is: ' + distance.toFixed(2) +           ' kilometers (' + distanceMiles.toFixed(2) + ' miles)';   }

Agora vou explicar o passo a passo do código acima:

  • As linhas 1 a 16 preenchem os campos dropdown usando os dados do arquivo GeoJSON trail_stops.
  • A linha 18 configura o botão calcular para chamar a função calculateDistance (linhas 20 a 33).
  • Nas linhas 21-26, obtemos os marcadores "de"/"para" e usando o featuremap, obtemos a latitude e a longitude para criar dois objetos turf.point. O aviso turf.point é criado especificando a longtiude (valor x) primeiro.
  • A linha 27 calcula a distância e a linha 28 registra-a no console.
  • A linha 29 converte de quilômetros em milhas.
  • As linhas 31 a 32 definem o texto para a div distanceResult.
  • Por último calcula a distância e nos retorna o resultado em quilômetros e milhas, conforme a imagem abaixo:



4. O Código

Para obter o código completo, clique aqui.

Categories: OSGeo Planet

CARTO Blog: The Spring 2019 Data Science & LI Event Guide

OSGeo Planet - Mon, 2019-04-08 10:00
Looking for insightful speakers presenting the latest developments in Location Intelligence and Spatial Data Science? Want workshops of tools and technologies that can help...
Categories: OSGeo Planet

gvSIG Team: Plataforma municipal para la gestión de la información geográfica

OSGeo Planet - Sat, 2019-04-06 14:50

Os dejamos con un vídeo de presentación de la Suite gvSIG aplicada a gestión municipal; seguro que os da muchas ideas de los múltiples usos que pueden tener las soluciones gvSIG para optimizar la gestión municipal.

Relacionado con esto, tenéis un conjunto de presentaciones de casos reales en el siguiente enlace: ¡Aquí mismo!

Y nunca está de más recordaros que tenéis disponible un curso gratuito (con certificación opcional) para aprender a trabajar con la Suite gvSIG en la Administración Local. Un curso que ya han realizado miles de usuarios. ¿Te animás?

Enlace al curso: ¡Me ánimo!

Categories: OSGeo Planet

gvSIG Team: Recording of presentations given at 4th gvSIG Festival are now available

OSGeo Planet - Fri, 2019-04-05 18:35

Recording of the 4th gvSIG Festival presentations is already available. The gvSIG Festival is the virtual conference about gvSIG that was held on April 17 and 18, in which this year we wanted to give special visibility to women who work in the world of geomatics.

If you could not follow the live presentations you can now watch the recording of them, which are available on the gvSIG website.

During the festival there were a great variety of presentations, speaking about topics like cases studies about Geopaparazzi, about analysis of extreme events ​​​​​​​with the HortonMachine tools in gvSIG Desktop or how to get a diverse team to work with.

Don’t miss any of the presentations!

Categories: OSGeo Planet
Syndicate content