Episode #125 of the Stack Overflow podcast is here. We talk Tilde Club and mechanical keyboards. Listen now
9

Looking at the code, QGIS will take the exact values if there are up to 3000 features. Otherwise, it will take the largest between 3000 random features or a random 10% of the data.


3

Select all your symbols in the same Symbology tab, then right click -> Format Labels... Set the number of decimal places there and you are good to go!


3

The lidR package relies on the rlas package to read and write las file. The rlas package has a recent support of LAS 1.4 files (v1.3.0 release date: 2019-02-03). Moreover the point record formats >6 are a bit different than former point formats. Your code is correct and you actually found a bug in function write.las from rlas that occurs with point format 6 (...


3

You need to define the classification in the GIS - just because it is there in the shapefile doesn't mean that your GIS knows how to interpret it. If you are using QGIS3, make sure the Layer Styling panel is visible, and change the fill type from "Simple Fill" to Categorised, choosing your classification field as the column. Then choose a colour ramp and ...


3

You are likely observing the difference between pixel based classification and object oriented classification. The Photoshop algorithm likely incorporates some form of image segmentation (i.e. a type of object oriented image analysis), whereas the ArcGIS pixel based classifier uses the Maximum Likelihood classification algorithm. Esri defines the difference ...


3

sample() uses 1 region (either points or polygons) and does exhaustive sampling in that region (all pixels) unless you specify a smaller number of points. But the random sampling it does isn't optimal. sampleRegions uses multiple regions (either points or polygons) and does exhaustive sampling in each region (all pixels). There are no options for ...


3

When trying to "duplicate script", you would want to take the approach of using the script modules exports.doc = 'The Foo module is a demonstration of script modules.' + '\n It contains a foo function that returns a greeting string. ' + '\n It also contains a bar object representing the current date.' + '\n' + '\n foo(arg):' + '\n @param {ee.String} arg ...


3

It would help if you could provide more information on your case. Are you struggling with a particular application? How does feature scaling relate to the rest of your workflow? Based on what information you provided, I'll attempt a general answer: I suggest using the first option, i.e. scaling each band individually. Some background information: I assume ...


3

The function ee.Algorithms.Landsat.simpleComposite works on raw scenes but from what I can see you are using Landsat 8 Surface reflectance dataset. You might want to try this one instead var ColecaoL8 = ee.ImageCollection('LANDSAT/LC08/C01/T1');


2

I have found the answer: For a classification task, feature scaling should be done for each individual pixel, not for the individual band. That means, we need to compute mean for the individual pixel over all bands since each pixel in B dimension represents a specific object which we want to be classified. Therefore we need to scale the observation not ...


2

You need to specify a region in your export call. Otherwise, you get whatever region the map happens to be displaying when you run the script.


2

Try removing the system:index column from the Fusion Table prior to loading in EE.


2

Short answer: Yes, you can use GLCM in RF classification. If you want to implement an OBIA analysis in R, you need to create a DF where each row is an object. Also, the final predict is applied over a df. To create this df object, use extract() function using your polygons. Long answer: implementation of RF classification using GLCM as predictor (in this ...


2

In this case, your feature space is tiny - only four variables. Any reasonable classification method is designed to deal with a significantly larger feature space, so there is no need to reduce the data set. As such, go ahead and use all the available data. Many methodologies will also provide a 'ranking' of features, which will indicate how useful a given ...


1

Well, your code is on the right track but it is not working because it is not complete yet. So far what you have done is to select the required band and the required images from the whole archive limiting your scenes of interest to those between 1990 and 2015 end. The remaining things are to select all images throughout the years (1990 to 2015) on same ...


1

You've already assigned the "scikit-learn" tag so I assume you want to use this library. Good choice. But at first you need something to open a shapefile and extract attributes. I would recommend geopandas: http://geopandas.org/io.html import geopandas as gpd data = gpd.read_file('path/to/file') It creates a data frame for which documentation you can ...


1

It is possible that there are better methodologies, but here is how I will approach the problem. Firstly, make sure you have a "3 classes respond quite well". As felixIP said, number of bands, etc. would determine quality of classification. Assuming you have good classification (i.e. no noises, etc), use 'Raster to Polygon' tool followed by split by ...


1

Try the GRASS module r.stats. It allows to print out either area totals, or percents or area for each category. (Available in the Processing Toolbox)


1

You can merge raster bands into single image (with 2 bands) using Composite Bands tool. But is still unclear to me why do you need to do that. If you want to do mathemathical operations with raster's cell values - use Raster Calculator. The other approach is: Convert your raster classification results to vector format. Use overlay tools.


1

There is no image in this time interval. You can test this by simply add a print image line. var image = ee.ImageCollection('LANDSAT/LT04/C01/T1_TOA') .filterDate('1984-04-01', '1990-12-31') .sort('CLOUD_COVER') .first(); print(image) var visParams = { bands: ['B3', 'B2', 'B1'], min: 0, max: 3000, gamma: 1.4, }; Map.addLayer(image, visParams); If you ...


1

To youre first question: Yes it is possible to derive NDVI by Sentinel-2 image. Here are some useful links to get started with Earth Engine and Sentinel-2 Description of Dataset inside GEE - Sentinel-2 MSI: MultiSpectral Instrument, Level-1C Tutorial: NDVI, Mapping a Function over a Collection, Quality Mosaicking GEE Script example for Sentinel-2 Cloud ...


1

I tried different classification techniques with different training site. The output clas was always red and blue merged together But surprisingly "Class probability" of ArcGIS gave the output of only blue colored regions. So I calculated the total regions from maximum likelihood and blue colored regions from class probability. I just had to subtract both ...


1

You are mixing client-side and server-side objects, see here. You will need to make the visualization a server-side object (namely, a dictionary): var landcoverPalette = ee.List(lc2012.get('landcover_class_palette')) var landcoverVisualization= ee.Dictionary({palette: landcoverPalette, min: 0, max: 44, format: 'png'}); full link


1

Thank you Aaron21 for your question, it forced me to reexamine the automated values that were generated for the training samples by arcmap. I changed the values to consecutive (1-4) to represent the classes and it worked. My classifications were generated successfully! Key thing to remember when running the tool-ONCE TRAINING SAMPLES ARE CREATED AND MERGED ...


1

After creating the legend you can convert it to a graphic item. Then ungroup the graphic and delete out the unwanted class.


1

You're not doing anything wrong, it's just that S2 images have a lot of bands and taking the median() of them generates double valued pixels, so the tiles being passed back and forth between servers end up too large. When this occurs, you increase the tileScale, to tell the system to use smaller tiles. var trainingSamples = s2_image.stratifiedSample({ ...


1

Building As suggested by Michael Stimson use the Classify LAS Building tool (3D Analyst required): Classifies building rooftop points in aerial lidar data. To have an idea about how precise and accurate the tool is (before running it with the first dataset, i.e. the unclassified one), run it with the second dataset (the one which is already classified) ...


1

SampleRegions is what you use when you've got a bunch of regions; it's the wrong tool for what you're trying to do. You can either use stratifiedSample if you want a random sampling (see example below), or just use sample() if you want all of the pixels. Either way, you need to include your class band in the stack of bands that you want to sample. var ...


1

For a quick overview of the amount of pixels each class has inside your area of interest (sn), you should use the histogram chart: Update: results in an array added with the full code // load var landCover = ee.ImageCollection('MODIS/006/MCD12Q1'); var country = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017'); // filter var sn = country.filter(ee.Filter.eq('...


1

First of all, you need the same threshold for each scenario in order to have a meaningfull visual comparison. To make sure that there is no "gap" in the represented data, the most usefull way is to use quantiles (each class has the same number of items). However, you have here values at different dates. My suggestion is to combine the values from all dates, ...


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