2

You have used wrong PropertyName in your filter <Filter xmlns="http://www.opengis.net/ogc"> <Contains> <PropertyName>MultiPolygon</PropertyName> <Point xmlns="http://www.opengis.net/gml" srsName="EPSG:25830"> <pos srsDimension="2">586784.8369967575 4722127.891344394</pos> </...


2

Both are good alternatives. The direct WFS request should include a Contains filter, or with point-in-polygon search the Intersects filter is as usable. <wfs:Query typeName="topp:states"> <Filter> <Intersects> <PropertyName>the_geom</PropertyName> <gml:Point srsName="http://www.opengis.net/gml/...


2

oops, easy fix. In the posted example there are 2 checkboxes, id-'bball' and id='foot', you just need to see if they are 'checked' on before adding them to the selected set. See below for my fix. if (distance_from_centerPoint <= theRadius && $('#bball').is(":checked")) { selPts.push(layer.feature); } if (...


2

Open the console (F12) you will see GeoJSON for the selected markers. So the data is there. In one of the simple examples, I use forEachFeature's on.click event to post the attributes to a HTML table (http://www.gistechsolutions.com/leaflet/DEMO/baseball/BaseballPanel.html) The issue I see is if you select 1 marker, the table is simple to populate, if you ...


2

Cloud score algorithm is for Landsat scenes. You must use another algorithm to identify clouds. Since QA60 contains dense clouds information, you can use this band. I posted before how to convert QA band by bits in Cloud mask for Landsat8 on Google Earth Engine, the approach is the same, so you code will mutate to: //the parameter for sentiel-2 images for ...


2

To fit the map to the full screen in Openlayers, you should adjust your css code like this: #map { position: fixed; top: 0; left: 0; bottom: 0; right: 0; }


1

A cluster is an auto-created and doesn't have those properties, instead it has an array of real features making up the cluster. This would return the first feature in the cluster if you clicked on one: feature_onClick = map.forEachFeatureAtPixel(evt.pixel, function(feature, layer) { var features = feature.get('features'); if (features) { ...


1

The problem you are having is the projection information has no .crs() method so a null value is being provided to the crs argument in the reprojection function. If you print the projection of ref_image you see it actually has a WKT property, after fiddling around it seems like .wkt() is what you would want to use to get the CRS information from your ...


1

Sorry, I may have caused this problem for you. Here is a better way. http://www.gistechsolutions.com/leaflet/DEMO/sports/index2.html Here I define the layer first using null as the data source, then use getJSON to add the data to the layer. Then the layer control works as expected. Better code: //define the layer var bbTeam = L.geoJson(null, { ...


1

You have to be a little careful with GFS data because it can get pretty confusing with the timing (as you have already seen). First, the GFS forecast is initialized 4 times a day (at 00, 06, 12, 18 hours GMT) so you get 4 forecasts per day. Next, GFS forecast interval for an individual forecast is hourly for the first 5 days then goes to 3-hour intervals up ...


1

I think you're looking for something like this. You can use SLD color ramps to define bounds on what colors are assigned to what values. I added an arbitrary geometry because you didn't provide a shape. Also note that you can use the normalizedDifference() function to calculate NDVI. // Define region of interest var maineCounties = ee.FeatureCollection('...


1

Problem with your approach is that all the input buttons have the same id, and when you are referencing element by document.getElementById('type'), you get HTML element only for the first one. @Ashok Vanam ESRIAu answer is in the right direction, but to bring context of button to function, it has to be passed as parameter. Also removing of possible previous ...


1

Sure, what I would do is prep the data file, so both layers have the same field names. Then using that example, I'd modify this function. function SelectPoints(lat,lon){ var dist = document.getElementById("miles").value; xy = [lat,lon]; //center point of circle var theRadius = parseInt(dist) * 1609.34 //1609.34 meters in a mile //dist is a string ...


1

Looks like I found what I needed: The example is under this link: http://www.gistechsolutions.com/leaflet/DEMO/baseball/BaseballPanelSelect2.html


1

The reduceToImage function only converts a featureCollection to an Image with unknown spatial information (no scale or projection) based on a property you select. You will have take the undefined Image and perform some operations to get point count per pixel. You do this by projecting the converted image and then reducing the image scale to desired ...


1

The solution given in the comments finally was: source.getFeatureById('ES.RRTN.CP.1010001')


1

Since posting this, (and with a helpful comment from @Sean Roulet) it seems the "correct" way to do this is to replace the ee.Geometry.MultiPoint() with a ee.FeatureCollection() containing several ee.Geometry.Point() as follows: var roi_list = [ee.Feature(ee.Geometry.Point(146.007413888888,-17.6536194444444), {name: 'Warrubellen'}), ee.Feature(ee....


1

Your problem is that you iterate through rows of data without processing them, and so at the end when loop is finished you process only last row. Taken into account that each of your rows contains one feature, you could in your loop first combine them into feature collection. This way you would process whole collection at once in your L.geoJSON call. Your ...


1

If you look at the 3.x to 4.x Functionality Matrix, it says ColorPicker is "coming soon": So one option would be to wait until it's included. If that is not an option, I am not aware of a great way to use the 3.x ColorPicker on the same page that the 4.x API is included - I would probably just use the default HTML Color input in the mean time or some other ...


1

As you stated correctly, you first have to modify leaflet-side-by-side plugin by replacing every occurence of getContainter() method with getPane() method. Then you have to create two map panes (for example named 'left' and 'right') and use them when creating image overlays. And when adding control L.control.sideBySide to the map, you have to use image ...


1

Since this is cross-posted on https://stackoverflow.com/questions/57654864/how-to-draw-more-complex-graphical-objects-in-openlayers if that is working all that is needed for angled start and end lines is to rotate the geometries to the desired angle (in radians) const start = geometry.getFirstCoordinate() startStyle.setGeometry(new LineString([[start[0], ...


1

Conceptually I believe the answer lies in the following filter. ee.Filter.contains() , however, I have never been able to implement it correctly. Having said that, I do have a workaround. If you go to the inspector tab, and then click on the images that you are interested it (the ones that contain your ROI) you can see the WRS_PATH and WRS_ROW in the ...


1

Found an answer to this when searching around further today (specifically when looking at this question), using the ol.format.WMSCapabilities() class, using the code below: var url = "***my_wms_url**"; var GetCaps = new ol.format.WMSCapabilities(); fetch(url).then(function(response) { return response.text(); }).then(function(text) { var ...


Only top voted, non community-wiki answers of a minimum length are eligible