Leaflet.WMGS plugin (Web Map GeoJSON Service)
npm i -S @geonet/leaflet-wmgs
const wmgs = new L.WMGS( {
crs: L.CRS.EPSG4326,
url: 'http://localhost:3000/wmgs',
// requestPerCell: false,
// filterTimeRange: {},
defaultStyle: {
color: 'red'
},
query: {},
// onCreateCell: ( bounds, coords ) => {},
// onCellEnter: ( bounds, coords ) => {},
// onCellLeave: ( bounds, coords ) => {},
pointToLayer: ( feature, latlng ) => {
return L.circleMarker( latlng, {
radius: 8,
fillColor: '#ff7800',
color: '#000',
weight: 1,
opacity: 1,
fillOpacity: 0.4
} );
},
onEachFeature: ( geojson, layer ) => {
// Render the feature
layer.feature.properties.type = 'AOI';
this.drawLayer.addLayer( layer );
}
} );
wmgs.addTo( map );
map.on( L.Draw.Event.CREATED, e => wmgs.createFeature( e ) );
map.on( L.Draw.Event.EDITED, e => wmgs.updateFeatures( e ) );
map.on( L.Draw.Event.DELETED, e => wmgs.deleteFeatures( e ) );
option | default | required | type | description |
---|---|---|---|---|
url |
true | String | URL for WMGS API | |
CRS |
L.CRS.EPSG4326 |
false | String | Coordinate Reference Systems (default: equirectangular projection) |
requestPerCell |
false |
false | Boolean | Request GeoJSON one cell at a time, or group all cells together |
filterTimeRange |
{ from: 0, to: 0 } |
false | Object | Filter objects based on time range |
defaultStyle |
{ color: 'blue', opacity: 1, fillOpacity: 0.4 } |
false | Object | Default polygon styling |
query |
{} |
false | Object | Define query parameters to filter all responses by |
select |
{ type: true, properties: true, geometry: true } |
false | Object | Define parameters to select from DB (type , properties , and geometry must be defined to properly render GeoJSON) |
onCreateCell |
false | Function | Called when a new cell is created | |
onCellEnter |
false | Function | Called when an existing cell is entered | |
onCellLeave |
false | Function | Called when an existing cell is exited | |
pointToLayer |
false | Function | Function that will be used for creating layers for GeoJSON Points. | |
onEachFeature |
false | Function | Function used to add GeoJSON to the map or allows for inspection of GeoJSON Features. |
method | params | returns | description |
---|---|---|---|
fetch |
Object (request options) | {Promise<*>} |
Used to request the WMGS server |
customRequest |
Object (request options) | {Promise<*>} |
Allows user to make custom defined request to the WMGS server |
getTypes |
Array | Get the types of Features defined in the WMGS server | |
getFeatures |
bounds (L.latLng object) |
Object (FeatureCollection) | Method used by module to request GeoJSON from WMGS. Method will pass all retrieved layers into onEachFeature |
createFeature |
Layer |
Fetch response | Add a WMGS Feature |
updateFeatures |
Layer[] |
Fetch response | Update WMGS Features |
deleteFeatures |
Layer[] |
Fetch response | Delete WMGS Features |
timeFromObjectId |
ObjectID |
Date |
Converts an ObjectID into a Date |
objectIdToTime |
Date |
ObjectID |
Converts a Date into an ObjectID |