Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement lazy loading mechanism #4

Open
rtodea opened this issue Feb 23, 2017 · 2 comments
Open

Implement lazy loading mechanism #4

rtodea opened this issue Feb 23, 2017 · 2 comments

Comments

@rtodea
Copy link
Owner

rtodea commented Feb 23, 2017

From what we can tell, we will need:

  1. a tile server (i.e. zoom/x/y.{format} endpoints)
  2. a smart way to integrate the real-time functionality with the ArcGIS tile layer

Tile server

We will need:

  1. cliping logic
  2. convert to the correct format (e.g. GeoJSON)

Caching mechanism is out of scope for now.

ArcGIS integration

Investigate the tile layer capabilities:

  1. https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-TileLayer.html
@rtodea
Copy link
Owner Author

rtodea commented Feb 24, 2017

After reading the documentation for VectorTileLayer there are new formats that need to be understood:

  Client                                    Server

VectorTileLayer    +------------------>  /mapbox-style-spec.json

                   <------------------+

                        +----
                        |   ++
                        |    | MapboxStyleSpec.json
                        |    |
                        +----+

                   +------------------>  /{zoom}/{x}/{y}.pbf

Simplest TileJSON spec:

{
  "type": "vector",
  "tiles": [
    "http://a.example.com/tiles/{z}/{x}/{y}.pbf",
    "http://b.example.com/tiles/{z}/{x}/{y}.pbf"
  ]
}

@rtodea
Copy link
Owner Author

rtodea commented Feb 24, 2017

Tile Servers that might be used:

  1. tilestrata
  2. tilelive ecosystem ?
  3. use mapnik + parsers + generators listed by Mapbox

Tilestrata

For tilestrata you need to use an existing plugin for vector tiles: tilestrata-vtile or create your own

Problems with tilestratata-vtile:

  1. tilestrata-vtile uses a path to the mapnik XML config
  2. we can use an utility to convert a GeoJSON to an XML style sheet: geojson-mapnikify

By writing your own provider you need to better understand the interface.

Raw implementation

GeoJSON ----> Mapbox Vector Tile (VT) ----> PBF
        geojson-vt                    vt-pbf

References:

  1. vt-pbf
  2. discussion on how to update a vector tile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant