Gerando blocos interativos usando Nodejs, Mapnik e PostGIS para Leaflet


8

Eu estou olhando para fazer algo parecido com isto, mas onde eu tenho todos os dados no mesmo servidor.

Eu tenho acompanhado o conjunto de tutoriais @ sparkgeo.com/labs/big/ e estou tendo algumas dificuldades. Por fim, gostaria de trabalhar com isso Leafletcomo o tutorial @ sparkgeo.com/labs/bigleaflet/, mas também não consigo obter a versão do tutorial anterior. Portanto, a versão final gerará R Shinymapas e camadas interativos a partir de blocos acessados ​​através de Leafletgerados Postgispor meio de node.jsuse mapnike mapbox.

As Waxbibliotecas usadas nesse tutorial foram removidas, então eu instalei isso . Apontei os ladrilhos do HTMLarquivo http://localhost:8000/{z}/{x}/{y}.pnge apontei para a minha localização de wax.g.min.js. Nenhum setor censitário está aparecendo com eu corro o cencon.jscódigo. Da mesma forma com a Leafletversão do HTMLarquivo, apontei para o host local para as camadas e elas não estão sendo exibidas. Eles são carregados com sucesso no PostGISbanco de dados e alterando as informações de login do banco de dados.

OK, então sou novo em tudo isso e estou me perguntando se estou perdendo algo óbvio. Não alterei o código além do que mencionei anteriormente. Preciso fazer mais alguma coisa para gerar os tiles @ http://localhost:8000/{z}/{x}/{y}.png? Além disso, agora que Waxfoi substituído, você possui links para tutoriais mais adequados mapbox?


1
Você já tentou abrir as ferramentas de desenvolvedor do Chrome (guia Rede e console, especificamente) para ver se há algum erro ou tempo limite?
precisa saber é o seguinte

Sim, definitivamente, ficando GET http://localhost:8000/10/166/395.png net::ERR_CONNECTION_REFUSEDe assim por diante. Gostaria de saber se o banco de dados está muito lento, pois leva uma eternidade para carregar uma tabela no QGIS. Atualiza essas configurações. Quando eu apenas navego para um bloco com a URL real, isso não me dá nada também.
Ideamotor


Obrigado pelas indicações. Para os que seguiram, acabou alterando "localhost" para o IP do servidor. Ainda enfrentando problemas - as camadas de mosaico são invisíveis. Estou colocando isso na cama para trabalhar em uma solução mais rápida, mas posso responder mais tarde.
Ideamotor

Respostas:


3

Já está na hora de eu responder, mas aqui vai:

  • Como o uso do Wax foi descontinuado, como você mencionou, aqui estão alguns exemplos do Mapbox para você começar. Lembre-se de que a API do Leaflet está incorporada no Mapbox.js e pode ser usada em conjunto com o código do Mapbox.

  • Usando http://localhost:8000/{z}/{x}/{y}.pngmeios para armazenar os blocos em sua própria pasta. Isso é bom, desde que você não queira muitos níveis de zoom. Caso contrário, fica muito difícil gerenciar tantos blocos no seu computador. Você pode esclarecer isso primeiro.

  • Se você obtiver o ERR_CONNECTION_REFUSED em um host local do Windows para acessar esses blocos declarados por http://localhost:8000/{z}/{x}/{y}.png, o problema pode ser que sua origem js esteja em um servidor remoto e não na pasta localhost. Naturalmente, o computador não permite que algum código js não confiável na Internet acesse o conteúdo do seu computador.

Em outras palavras, em vez de adicionar a biblioteca js como esta:

<script src="http://mapbox.com/foo/bar/mapbox.js"></script>

... faça o download dos js na pasta localhost e use o seguinte:

<script src="/mapbox.js"></script>

Se isso não resolver o seu problema, verifique se o servidor localhost (XAMPP ou o que for) tem as permissões para acessar seu sistema de arquivos.

  • Acredito que você esteja usando muitas bibliotecas ao mesmo tempo para um simples mapa da web. O TileMill é uma ótima ferramenta para criar mapas interativos com o mínimo de esforço. Combine isso com o Mapbox.js e suas habilidades em JavaScript para criar um mapa, como no primeiro exemplo que você forneceu.

Se você possui os dados que deseja exibir em CSV ou em algum formato semelhante, sugiro que inicie o TileMill imediatamente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.