UNPKG

flatgeobuf

Version:

A performant binary encoding for geographic data

2 lines 1.29 kB
import{all as e}from"ol/loadingstrategy.js";import{transformExtent as t}from"ol/proj.js";import{deserialize as r,deserializeFiltered as o,deserializeStream as a,serialize as i}from"./ol/featurecollection.js";export function serialize(e){return i(e)}export function deserialize(e,t,i,n=!1,s={}){return e instanceof Uint8Array?r(e,t,i):e instanceof ReadableStream?a(e,i):o(e,t,i,n,s)}async function n(r,o,a,i,s,l={}){if(s===e)return deserialize((await fetch(r,{headers:l})).body);let[d,c,f,u]=o&&i.getCode()!==o?t(a,i.getCode(),o):a;return deserialize(r,{minX:d,minY:c,maxX:f,maxY:u},void 0,!1,l)}export function createLoader(t,r,o="EPSG:4326",a=e,i=!1,s={}){return async(e,l,d,c,f)=>{try{i&&t.clear();let l=await n(r,o,e,d,a,s),f=[];for await(let e of l)o&&d.getCode()!==o&&e.getGeometry()?.transform(o,d.getCode()),f.push(e),t.addFeature(e);c?.(f)}catch{f?.()}}}export const tileUrlFunction=e=>JSON.stringify(e);export function createTileLoadFunction(e,r,o="EPSG:4326",a={}){let i=e.getProjection(),n=i?.getCode()??"EPSG:3857";return e=>{let i=async i=>{let[s,l,d,c]=o&&n!==o?t(i,n,o):i,f=deserialize(r,{minX:s,minY:l,maxX:d,maxY:c},void 0,!1,a),u=[];for await(let e of f)u.push(e);for(let e of u)e.getGeometry()?.transform(o,n);e.setFeatures(u)};e.setLoader(i)}} //# sourceMappingURL=ol.js.map