@geonet/leaflet-wmgs
v1.0.13
Published
Leaflet.WMGS plugin (Web Map GeoJSON Service)
Readme
geonet-leaflet-wmgs
Leaflet.WMGS plugin (Web Map GeoJSON Service)
install
npm i -S @geonet/leaflet-wmgsUsage
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 ) );Options
| 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. |
Methods
| 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 |
