Arquivos de mapa geoJSON no GitHub
Neste artigo
- Tipos geométricos
- Estilos de elementos gráficos
- Incorporar o mapa em outro lugar
- Clustering
- Algo errado no mapa de base
- Solução de Problemas
- Recursos adicionais
O GitHub Enterprise é compatível com a renderização de arquivos de mapas geoJSON e topoJSON nos repositórios do GitHub Enterprise. Simplesmente faça o commit do arquivo como você faria normalmente usando uma extensão .geojson
ou .topojson
. Arquivos com a extensão .json
também são compatíveis, mas somente se o type
(tipo) for configurado para FeatureCollection
(Coleção de elementos gráficos), GeometryCollection
(Coleções geométricas) ou topology
(topologia). Depois, navegue para o caminho do arquivo geoJSON em GitHub.com.
Quando você clicar no ícone de folha de papel à direita, também verá as alterações feitas naquele arquivo como parte de um commit.
Tipos geométricos
Os mapas no GitHub Enterprise usam Leaflet.js e são compatíveis com todos os tipos geométricos descritos nas especificações geoJSON (Ponto, LineString, Polígono, Múltiplos Pontos, MultiLineString, MultiPolygon e GeometryCollection). Os arquivos TopoJSON devem ser do tipo "Topology" (Topologia) e estar de acordo com as especificações topoJSON.
Estilos de elementos gráficos
Você pode personalizar a maneira como os elementos gráficos são exibidos, como especificar uma cor ou adicionar um ícone descritivo, transmitindo metadados adicionais nas propriedades do objeto geoJSON. As opções são:
marker-size
(marcador de tamanho) -small
(pequeno),medium
(médio) oularge
(grande)marker-color
(marcador de cores) Válido para cores RGB e hexadecimalmarker-symbol
(marcador de símbolos) - um ícone ID do projeto Maki ou um caractere alfanumérico único (a-z ou 0-9).stroke
(traço) - cor da borda ou linha de um polígono (RGB)stroke-opacity
(opacidade do traço) - opacidade de uma borda ou linha de um polígono (0,0 - 1,0)stroke-width
(largura do traço) - largura da linha ou borda de um polígonofill
(preenchimento) - a cor do interior de um polígono (RGB)fill-opacity
(opacidade do preenchimento) - opacidade do interior de um polígono (0,0 - 1,0)
Consulte a versão 1.1.0 do simplestyle especificações de código aberto para obter mais informações.
Incorporar o mapa em outro lugar
Você quer deixar o seu mapa geoJSON disponível em outro lugar além do GitHub Enterprise? Simplesmente modifique este modelo e coloque-o em qualquer página HTML compatível com javascript (por exemplo, GitHub Pages):
<script src="https://embed.github.com/view/geojson/<username>/<repo>/<ref>/<path_to_file>"></script>
Por exemplo, se a URL de seu mapa é github.com/benbalter/dc-wifi-social/blob/master/bars.geojson, o código de incorporação será:
<script src="https://embed.github.com/view/geojson/benbalter/dc-wifi-social/master/bars.geojson"></script>
Por padrão, o mapa incorporado tem 420px x 620px, mas é possível personalizar a saída passando as variáveis de altura e largura como parâmetros no final, como ?height=300&width=500
.
Observação: ref
pode ser um branch (como master
) ou o hash para um commit individual (como 2391a
).
Clustering
Se o seu mapa contém um número grande de marcadores (aproximadamente mais de 750), em níveis de zoom maiores, o GitHub automaticamente fará cluster de marcadores próximos. Simplesmente clique em cluster ou aumentar o zoom para ver os marcadores individuais.
Algo errado no mapa de base
Os dados do mapa de base (nomes de ruas, estradas etc) são determinados pelo OpenStreetMap, um projeto colaborativo para criação de um mapa do mundo grátis e editável. Por ser de código aberto, se você observar que alguma coisa não está certa, simplesmente inscreva-se e envie uma correção.
Solução de Problemas
Se você está com problemas para renderizar arquivos geoJSON, certifique-se de que tem um arquivo geoJSON válido, executando-o por meio de um linter geoJSON. Se os pontos não estão aparecendo onde deveriam (por exemplo, no meio do oceano), é provável que os dados estejam em uma projeção que não é compatível atualmente. No momento, o GitHub Enterprise somente é compatível com a projeção urn:ogc:def:crs:OGC:1.3:CRS84
.
Além disso, se o seu arquivo .geojson
for particularmente grande (acima de 10 MB), não é possível renderizar no navegador. Se esse for o caso, você normalmente verá uma mensagem parecida com esta:
Ainda pode ser possível renderizar os dados convertendo o arquivo .geojson
em TopoJSON, um formato compactado que pode reduzir o tamanho dos arquivos em até 80%, em alguns casos. Claro que você sempre pode quebrar os arquivos em pedaços menores (como por estado ou por ano) e armazenar os dados em vários arquivos no repositório.