24 votes
Accepted

Moving from Earth Engine image to array for use in sklearn

Ideally there would be some way to convert EE image objects to sklearn-readable NumPy arrays directly using the EE Python API. ee.Image.sampleRectangle() does this. However, there is a limit of ...
15 votes

Distinction between pixel-based and object based classification?

As far as pixel-based classification is concerned, you are spot on. Each pixel is an n-dimensional vector and will be assigned to some class according to some metric, whether using Support Vector ...
  • 13.4k
14 votes
Accepted

Is it possible to set different scale dependent visibility for one layer classifications?

You need to use Rule based style to set the scale for primary, secondary and tertiary network, as you can see below (but with different data): You can double-click each styled label to get more ...
  • 38k
12 votes

What is the theory behind graduated symbols in QGIS?

Equal_Interval "the range is then divided by the number of classes" http://wiki.gis.com/wiki/index.php/Equal_Interval_classification Quantiles " for visualizing continuous data that is not ...
  • 48.9k
11 votes
Accepted

Extracting tree crown areas from remote sensing data (visual images and LiDAR)

There is a considerable body of literature on individual crown detection in spectral and lidar data. Methods wise, perhaps start with: Falkowski, M.J., A.M.S. Smith, P.E. Gessler, A.T. Hudak, L.A. ...
11 votes
Accepted

Distinction between pixel-based and object based classification?

Your understanding is generally correct, however, there are dangers in your description of the object based classification - the term 'object' refers to the group of pixels, not whether or not it ...
11 votes
Accepted

What is the difference between sample, sampleRegions, and stratifiedSample in Google Earth Engine?

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 ...
10 votes
Accepted

Conversion from Raster to Vector in Google Earth Engine?

One giant Multipolygon per class isn't going to scale very well, but it's not hard to produce that. var geometry = ee.Geometry.Rectangle([29.1796875, 32.02670629333615, 32.607421875, 29....
9 votes
Accepted

what's the difference between spectral signature and features in remote sensing?

The term spectral signature refers to the relationship between the wavelength (or frequency) of electromagnetic radiation and the reflectance of the surface. The signature is affected by several ...
  • 10.9k
9 votes

Methodology for Hansen classification of Global Forest Watch?

The Supplementary Materials (SM) for the Science article provides references to a number of different journal-articles that outline various parts of the methodology. The SM can be found here ...
9 votes
Accepted

SAR - Using the Intensity or the Amplitude for the classification

The intensity image should be used for calibration and subsequent classification of geophysical features. To radiometrically calibrate the intensity, use the Calibrate tool in the Sentinel-1 Toolbox (...
  • 1,724
9 votes
Accepted

Reclassifying raster layer with certain colors for value ranges in QGIS?

You may apply a reclassification by right-clicking on the layer in the Layers Panel and then clicking on Properties: from the dialog that appears, go to Style and then set these parameters (you can ...
  • 15.7k
9 votes
Accepted

QGIS Gratuated Symbology gives differents results on every classification with Natural Breaks (Jenks)

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.
  • 36.6k
8 votes
Accepted

Pixel-based and object-based classification!

Classification algorithms such as Maximum Liklihood, random forests, and SVM are statistical methods for grouping data. These data may be words, colors, sounds or anything you can imagine. In a ...
  • 50.7k
8 votes
Accepted

Can LiDAR differentiate between rock and soil?

In terms of something akin to a spectral signature, the only way would be through the return intensity values, which are rarely calibrated. Unfortunately, there is really nothing expected in the ...
8 votes
Accepted

Performing supervised classification on Sentinel images

This is how I do it using QGIS - Geopandas - sklearn.svm.SVC. I have a Sentinel 2 satellite image which I want to classify into: Agricultural Clearcut forest Forest Mire Road Water Create truth data ...
  • 56.8k
7 votes

what's the difference between spectral signature and features in remote sensing?

A spectral signature is some measurable quantity (e.g., reflectivity, emissivity), which varies as a function of wavelength and can be used to identify a material. To obtain a signature, the quantity ...
  • 171
7 votes

Determining bare earth DEM from unclassified LAS file?

I have had good luck with FUSION's (manual here) GroundFilter command. I've had no problem handling 40 million points (unclassified), so wouldn't expect an issue with 100 million.
  • 4,638
7 votes

Unsupervised raster classification using GDAL

Scikit-learn has some excellent unsupervised classification/clustering algorithms. The batched K-means algorithm works quickly with large datasets. Here is an example using the KEA file format. You ...
  • 825
7 votes
Accepted

Change detection between two classifications in QGIS?

The general name for the operation that will allow you to compare two classified images is cross tabulation or what is sometimes called a contingency table. This will allow you to calculate change in ...
  • 10.9k
7 votes

Random Forest land cover classification in ArcMap?

I am the main developer of MGET. The first step in your problem is to obtain values of the covariates that you will use to fit the model to your 90 GPS points. It sounds like you want to use the 8 ...
7 votes
Accepted

ArcPy command fails (pathname becomes corrupted) based on the starting letter of input file?

The problem is you need to be escaping the pathnames. In Python (and many other programming languages) the single backslash \ is an escape character. See this page for an explanation. in the path "...
  • 8,434
7 votes

Finding tree canopy width using PDAL?

First, for the answers proposed here, you probably do not want to use the ferry filter to push HeightAboveGround to Z, at least not prior to segmentation, as the act of normalizing heights involves ...
  • 108
7 votes
Accepted

Stratified random sampling with Google Earth Engine Error

Try using just the stratifiedSample algorithm: https://code.earthengine.google.com/e061f92736d8261f812db1dc2bfa8934 var ROI = ee.Geometry.Rectangle(-82.56277, 35.58935,-82.53436, 35.59996); // ...
7 votes
Accepted

Changing line width by classification in QGIS

You can use graduted stylings for color and also size when using point or line features. In case of lines the size is used to classify the width. There you find also the options for natural breaks and ...
  • 6,095
6 votes

How to Remove Topographic Effects Like Shadows from Landsat Image

Yes, image classification is generally improved when you remove topographic illumination effects (same goes with atmospheric effects). However, as with anything like this, there exists a wide range of ...
  • 10.9k
6 votes
Accepted

Unsupervised classification with kmeans in R

I think you can't... You first have to label each classes to compare them. Kmean classify unsupervisedly so without any prior information and so cannot define any kind of classes. If you have a ...
  • 116
6 votes
Accepted

Methodology for Hansen classification of Global Forest Watch?

Matt Hansen's team has a paper published on forest cover change in Eastern Europe that goes back to 1985 - see Eastern Europe's forest cover dynamics from 1985 to 2012 quantified from the full Landsat ...
  • 76
6 votes
Accepted

Computing unsupervised random forest classification in R?

Random Forests in unlabeled (unsupervised) mode does not return explicit classes but, rather something analogous to scaled multivariate distances which is based on node proximities. Without the ...
6 votes
Accepted

Create Classes based on Field Values using Python in the Field Calculator

You need to use the Codeblock - see above your code box there's a button that says "Show Codeblock". Check that, and you can enter your code into the codeblock. def myReclass(overallUtil): if (...
  • 29.3k

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