2

I'm looking for a way to use the PBF format from an ArcGIS Online FeatureServer in Leaflet.

There are lots of examples using L.vectorGrid.protobuf with URLs for PBF tiles structured like {z}/{x}/{y}.pbf but as I'm hoping to use a FeatureServer to accesses this data, these examples will not work for me.

I haven't found an example of how to do this and am hoping you can help. Here's the Esri Map using PBF from a FeatureServer I'm hoping to use. And here's an example API call from the Esri Map using PBF

How can I address this challenge?

11
  • like this? gis.stackexchange.com/questions/348158/…
    – Mapperz
    Commented Jun 19, 2021 at 1:30
  • There seems to be no such plugin/library for Leaflet, but is' easily doable in native OpenLayers.
    – TomazicM
    Commented Jun 19, 2021 at 9:37
  • Thanks @TomazicM. I've started looking through OpenLayers posts related to this and came across another open question from September. Do you know of an OpenLayers example where the xmin, ymin, xmax and ymax are used for pbf instead of {z}/{x}/{y}?
    – Kevin
    Commented Jun 20, 2021 at 14:12
  • Yes, see example from Mike's comment on the mentioned question: codesandbox.io/s/vigorous-bell-6skr7?file=/main.js. It's really not an open question, since half of the Mike's answers are given in comments.
    – TomazicM
    Commented Jun 20, 2021 at 14:31
  • Hi @TomazicM, I did see @Mike's comment but their response doesn't use xmin, ymin, xmax and ymax extents when requesting the pbf tile. Do you know of an example where the extent is used for displaying a pbf tile (i.e. constructed similar to @Dylan's initial question <code>/query?f=pbf&returnGeometry=true&spatialRel=esriSpatialRelIntersects& + `geometry={"xmin":${extent[0]},"ymin":${extent[1]},"xmax":${extent[2]},"ymax":${ extent[3]</code>) Thanks for your continued support.
    – Kevin
    Commented Jun 21, 2021 at 13:26

1 Answer 1

0

Reference:

https://transparentgov.net/cleargov1/940/pbf-not-work-with-mapserver-but-work-with-featureserver

For example, arcgis REST api, FeatureServer only, you can use http URL like

      '...?f=pbf' 

instead of

      '...?f=json', 

you will get a single piece of response from .xhr,

you can use mapbox pbf to unzip pbf back to json.

Here is a tool to convert ESRI pbf format into json

https://github.com/rowanwins/arcgis-pbf-parser

Here is ESRI pbf format

https://github.com/Esri/arcgis-pbf/tree/main/proto/FeatureCollection

Here is a library for retrieving features from an ArcGIS FeatureServer or MapServer. This library makes tiled requests rather than simply requesting every feature.

https://github.com/rowanwins/mapbox-gl-arcgis-featureserver

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.