[PYTHON] Générer et styliser des tuiles vectorielles avec QGIS "MB Style Generator"

introduction

J'ai été inspiré par un article que j'ai lu plus tôt sur Qiita sur l'hébergement de tuiles vectorielles sur GitHub (j'ai perdu la trace de l'URL). Le contenu est que les données vectorielles en mosaïque ont une très petite taille d'un fichier et sont adaptées à l'hébergement par GitHub. J'ai certainement pensé. Cela signifie que n'importe qui peut fournir des tuiles vectorielles. N'importe qui peut utiliser les données, quelle que soit leur taille, en les plaçant simplement dans le référentiel tant qu'elles peuvent être tuilées. J'ai pensé que ce serait merveilleux si cela se réalisait. D'un autre côté, je pense également que la création de tuiles vectorielles est un obstacle important (plutôt que d'être difficile, l'effort de construction d'un environnement est un obstacle), et je pense vaguement que si les tuiles vectorielles peuvent être créées et distribuées facilement, cette situation peut se réaliser. J'ai eu une idée. Pendant ce temps, comme je l'ai déjà présenté, j'ai trouvé un plug-in appelé VectorTilesReader (ci-après dénommé VTReader). Il s'agit d'un plugin qui permet à QGIS de charger des données vectorielles déjà carrelées et hébergées. Ensuite, au contraire, j'ai pensé que ce serait pratique si je pouvais facilement exporter la couche QGIS sous forme de tuile vectorielle, j'ai donc créé "MBStyle Generator".

MBStyleGenerator https://github.com/Kanahiro/MBStyleGenerator https://plugins.qgis.org/plugins/MBStyleGenerator-master/

Sample sample.png

Cette capture d'écran montre le style de plusieurs couches de tuiles vectorielles Geographical Institute lues par VTReader sur QGIS et le style.json créé par MBStyleGenerator en utilisant ces couches lues par Mapbox GL JS. (Affiché avec Opacité = 0,5 sur l'arrière-plan des tuiles raster OSM). Dans QGIS et Mapbox, vous pouvez voir que les tuiles vectorielles du Geographical Institute sont stylées de la même manière.

une fonction

--Génération de style.json --Génération simultanée de tuiles vectorielles binaires (fichiers .pbf) et style.json

En d'autres termes, générez uniquement style.json ou générez également des données binaires. Dans les deux cas, en gros, vous pouvez afficher style.json simplement en le chargeant dans Mapbox.

Actuellement, c'est "expérimental". Il existe les problèmes connus suivants:

De plus, à l'heure actuelle, l'expression de style de QGIS n'est pas complètement traduite dans Mapbox.

spécification

  • Ecrivez "tous les calques visibles" dans style.json (et les données binaires) dans votre projet
  • Chaque "nom de calque" du projet sera le "calque source" des calques dans style.json
  • Chaque "identifiant de couche" du projet sera "l'identifiant" dans les calques dans style.json
  • Des tailles telles que la largeur sont converties en points en arrondissant la valeur entière.
  • La couche raster ne prend en charge que les tuiles xyz (non compatible avec .tif, etc.)
  • Le style des calques raster ne prend en charge que la transparence (opacité)
  • L'URL de la source MVT est facultative, mais si elle est laissée vide, le texte factice sera inséré et doit être entré manuellement avant utilisation.
  • Les tuiles vectorielles binaires sont générées à partir de toutes les couches vectorielles affichées
  • Les tuiles vectorielles binaires sont générées après la conversion de toutes les couches vectorielles en EPSG: 3857.
  • Les tuiles vectorielles binaires sont générées par tippecanoe et mbutil et prennent beaucoup de temps en fonction de la quantité de données.
  • Les tuiles vectorielles binaires sont écrites dans un répertoire appelé "pbf" qui est généré dans le même répertoire que style.json.

Comment utiliser

  1. Commencez par le menu スクリーンショット 2020-02-28 16.11.00.png

  2. Entrez et exécutez dans la boîte de dialogue Le fichier est généré par Run. Si vous cochez Créer une source MVT, une tuile vectorielle binaire sera générée. スクリーンショット 2020-02-28 16.11.39.png

  3. style.json (et la tuile vectorielle binaire) est sorti dans le répertoire spécifié スクリーンショット 2020-03-03 18.51.30.png

À la fin

Il est mieux façonné que ce à quoi je m'attendais. Il a besoin d'un peu plus de rafraîchissement, mais j'ai pensé qu'il serait préférable de le publier d'abord et de recevoir des commentaires pour le réparer, alors je l'ai publié. C'était juste le financement du cloud pour prendre en charge les tuiles vectorielles dans QGIS a commencé, donc le timing Qu'elles soient bonnes ou mauvaises, il ne fait aucun doute que les tuiles vectorielles sont largement utilisées. Gardez un œil sur les tendances futures.

Recommended Posts

Générer et styliser des tuiles vectorielles avec QGIS "MB Style Generator"
Ajouter des tuiles vectorielles en tant que couches dans QGIS
Produit intérieur et vecteur: Algèbre linéaire en Python <2>