Announcement: All noncommercial projects registered to use Earth Engine before
April 15, 2025 must
verify noncommercial eligibility to maintain Earth Engine access.
ee.FeatureCollection.style
Stay organized with collections
Save and categorize content based on your preferences.
Draw a vector collection for visualization using a simple style language.
Usage | Returns | FeatureCollection.style(color, pointSize, pointShape, width, fillColor, styleProperty, neighborhood, lineType) | Image |
Argument | Type | Details | this: collection | FeatureCollection | The collection to draw. |
color | String, default: "black" | A default color (CSS 3.0 color value e.g., 'FF0000' or 'red') to use for drawing the features. Supports opacity (e.g., 'FF000088' for 50% transparent red). |
pointSize | Integer, default: 3 | The default size in pixels of the point markers. |
pointShape | String, default: "circle" | The default shape of the marker to draw at each point location. One of: `circle`, `square`, `diamond`, `cross`, `plus`, `pentagram`, `hexagram`, `triangle`, `triangle_up`, `triangle_down`, `triangle_left`, `triangle_right`, `pentagon`, `hexagon`, `star5`, `star6`. This argument also supports these Matlab marker abbreviations: `o`, `s`, `d`, `x`, `+`, `p`, `h`, `^`, `v`, `<`, `>`. |
width | Float, default: 2 | The default line width for lines and outlines for polygons and point shapes. |
fillColor | String, default: null | The color for filling polygons and point shapes. Defaults to 'color' at 0.66 opacity. |
styleProperty | String, default: null | A per-feature property expected to contain a dictionary. Values in the dictionary override any default values for that feature. |
neighborhood | Integer, default: 5 | If styleProperty is used and any feature has a pointSize or width larger than the defaults, tiling artifacts can occur. Specifies the maximum neighborhood (pointSize + width) needed for any feature. |
lineType | String, default: "solid" | The default line style for lines and outlines of polygons and point shapes. Defaults to 'solid'. One of: solid, dotted, dashed. |
Examples
Code Editor (JavaScript)
// FeatureCollection of power plants in Belgium.
var fc = ee.FeatureCollection('WRI/GPPD/power_plants')
.filter('country_lg == "Belgium"');
// Paint FeatureCollection to an image using collection-wide style arguments.
var fcVis = fc.style({
color: '1e90ff',
width: 2,
fillColor: 'ff475788', // with alpha set for partial transparency
lineType: 'dotted',
pointSize: 10,
pointShape: 'circle'
});
// Display the FeatureCollection visualization (ee.Image) on the map.
Map.setCenter(4.326, 50.919, 9);
Map.addLayer(fcVis, null, 'Collection-wide style');
// Paint FeatureCollection to an image using feature-specific style arguments.
// A dictionary of style properties per power plant fuel type.
var fuelStyles = ee.Dictionary({
Wind: {color: 'blue', pointSize: 5, pointShape: 'circle'},
Gas: {color: 'yellow', pointSize: 6, pointShape: 'square'},
Oil: {color: 'green', pointSize: 3, pointShape: 'diamond'},
Coal: {color: 'red', pointSize: 3, pointShape: 'cross'},
Hydro: {color: 'brown', pointSize: 3, pointShape: 'star5'},
Biomass: {color: 'orange', pointSize: 4, pointShape: 'triangle'},
Nuclear: {color: 'purple', pointSize: 6, pointShape: 'hexagram'},
});
// Add feature-specific style properties to each feature based on fuel type.
fc = fc.map(function(feature) {
return feature.set('style', fuelStyles.get(feature.get('fuel1')));
});
// Style the FeatureCollection according to each feature's "style" property.
var fcVisCustom = fc.style({
styleProperty: 'style',
neighborhood: 8 // maximum "pointSize" + "width" among features
});
// Display the FeatureCollection visualization (ee.Image) on the map.
Map.addLayer(fcVisCustom, null, 'Feature-specific style');
Python setup
See the
Python Environment page for information on the Python API and using
geemap
for interactive development.
import ee
import geemap.core as geemap
Colab (Python)
# FeatureCollection of power plants in Belgium.
fc = ee.FeatureCollection('WRI/GPPD/power_plants').filter(
'country_lg == "Belgium"'
)
# Paint FeatureCollection to an image using collection-wide style arguments.
fc_vis = fc.style(
color='1e90ff',
width=2,
fillColor='ff475788', # with alpha set for partial transparency
lineType='dotted',
pointSize=10,
pointShape='circle',
)
# Display the FeatureCollection visualization (ee.Image) on the map.
m = geemap.Map()
m.set_center(4.326, 50.919, 9)
m.add_layer(fc_vis, None, 'Collection-wide style')
# Paint FeatureCollection to an image using feature-specific style arguments.
# A dictionary of style properties per power plant fuel type.
fuel_styles = ee.Dictionary({
'Wind': {'color': 'blue', 'pointSize': 5, 'pointShape': 'circle'},
'Gas': {'color': 'yellow', 'pointSize': 6, 'pointShape': 'square'},
'Oil': {'color': 'green', 'pointSize': 3, 'pointShape': 'diamond'},
'Coal': {'color': 'red', 'pointSize': 3, 'pointShape': 'cross'},
'Hydro': {'color': 'brown', 'pointSize': 3, 'pointShape': 'star5'},
'Biomass': {'color': 'orange', 'pointSize': 4, 'pointShape': 'triangle'},
'Nuclear': {'color': 'purple', 'pointSize': 6, 'pointShape': 'hexagram'},
})
# Add feature-specific style properties to each feature based on fuel type.
fc = fc.map(
lambda feature: feature.set('style', fuel_styles.get(feature.get('fuel1')))
)
# Style the FeatureCollection according to each feature's "style" property.
fc_vis_custom = fc.style(
styleProperty='style',
neighborhood=8, # maximum "pointSize" + "width" among features
)
# Display the FeatureCollection visualization (ee.Image) on the map.
m.add_layer(fc_vis_custom, None, 'Feature-specific style')
m
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-09-19 UTC.
[null,null,["Last updated 2024-09-19 UTC."],[[["\u003cp\u003eVisualize FeatureCollections as images using the \u003ccode\u003estyle()\u003c/code\u003e method with customizable point, line, and polygon styles.\u003c/p\u003e\n"],["\u003cp\u003eDefine collection-wide styles using arguments like \u003ccode\u003ecolor\u003c/code\u003e, \u003ccode\u003epointSize\u003c/code\u003e, \u003ccode\u003epointShape\u003c/code\u003e, \u003ccode\u003ewidth\u003c/code\u003e, \u003ccode\u003efillColor\u003c/code\u003e, and \u003ccode\u003elineType\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAchieve feature-specific styling by assigning a \u003ccode\u003estyleProperty\u003c/code\u003e containing individual style dictionaries to each feature.\u003c/p\u003e\n"],["\u003cp\u003eSet \u003ccode\u003eneighborhood\u003c/code\u003e to avoid tiling artifacts when using large point sizes or widths with feature-specific styling.\u003c/p\u003e\n"]]],[],null,["# ee.FeatureCollection.style\n\nDraw a vector collection for visualization using a simple style language.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|---------------------------------------------------------------------------------------------------------------------------------------------------------|---------|\n| FeatureCollection.style`(`*color* `, `*pointSize* `, `*pointShape* `, `*width* `, `*fillColor* `, `*styleProperty* `, `*neighborhood* `, `*lineType*`)` | Image |\n\n| Argument | Type | Details |\n|--------------------|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `collection` | FeatureCollection | The collection to draw. |\n| `color` | String, default: \"black\" | A default color (CSS 3.0 color value e.g., 'FF0000' or 'red') to use for drawing the features. Supports opacity (e.g., 'FF000088' for 50% transparent red). |\n| `pointSize` | Integer, default: 3 | The default size in pixels of the point markers. |\n| `pointShape` | String, default: \"circle\" | The default shape of the marker to draw at each point location. One of: \\`circle\\`, \\`square\\`, \\`diamond\\`, \\`cross\\`, \\`plus\\`, \\`pentagram\\`, \\`hexagram\\`, \\`triangle\\`, \\`triangle_up\\`, \\`triangle_down\\`, \\`triangle_left\\`, \\`triangle_right\\`, \\`pentagon\\`, \\`hexagon\\`, \\`star5\\`, \\`star6\\`. This argument also supports these Matlab marker abbreviations: \\`o\\`, \\`s\\`, \\`d\\`, \\`x\\`, \\`+\\`, \\`p\\`, \\`h\\`, \\`\\^\\`, \\`v\\`, \\`\\\u003c\\`, \\`\\\u003e\\`. |\n| `width` | Float, default: 2 | The default line width for lines and outlines for polygons and point shapes. |\n| `fillColor` | String, default: null | The color for filling polygons and point shapes. Defaults to 'color' at 0.66 opacity. |\n| `styleProperty` | String, default: null | A per-feature property expected to contain a dictionary. Values in the dictionary override any default values for that feature. |\n| `neighborhood` | Integer, default: 5 | If styleProperty is used and any feature has a pointSize or width larger than the defaults, tiling artifacts can occur. Specifies the maximum neighborhood (pointSize + width) needed for any feature. |\n| `lineType` | String, default: \"solid\" | The default line style for lines and outlines of polygons and point shapes. Defaults to 'solid'. One of: solid, dotted, dashed. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// FeatureCollection of power plants in Belgium.\nvar fc = ee.FeatureCollection('WRI/GPPD/power_plants')\n .filter('country_lg == \"Belgium\"');\n\n// Paint FeatureCollection to an image using collection-wide style arguments.\nvar fcVis = fc.style({\n color: '1e90ff',\n width: 2,\n fillColor: 'ff475788', // with alpha set for partial transparency\n lineType: 'dotted',\n pointSize: 10,\n pointShape: 'circle'\n});\n\n// Display the FeatureCollection visualization (ee.Image) on the map.\nMap.setCenter(4.326, 50.919, 9);\nMap.addLayer(fcVis, null, 'Collection-wide style');\n\n// Paint FeatureCollection to an image using feature-specific style arguments.\n// A dictionary of style properties per power plant fuel type.\nvar fuelStyles = ee.Dictionary({\n Wind: {color: 'blue', pointSize: 5, pointShape: 'circle'},\n Gas: {color: 'yellow', pointSize: 6, pointShape: 'square'},\n Oil: {color: 'green', pointSize: 3, pointShape: 'diamond'},\n Coal: {color: 'red', pointSize: 3, pointShape: 'cross'},\n Hydro: {color: 'brown', pointSize: 3, pointShape: 'star5'},\n Biomass: {color: 'orange', pointSize: 4, pointShape: 'triangle'},\n Nuclear: {color: 'purple', pointSize: 6, pointShape: 'hexagram'},\n});\n\n// Add feature-specific style properties to each feature based on fuel type.\nfc = fc.map(function(feature) {\n return feature.set('style', fuelStyles.get(feature.get('fuel1')));\n});\n\n// Style the FeatureCollection according to each feature's \"style\" property.\nvar fcVisCustom = fc.style({\n styleProperty: 'style',\n neighborhood: 8 // maximum \"pointSize\" + \"width\" among features\n});\n\n// Display the FeatureCollection visualization (ee.Image) on the map.\nMap.addLayer(fcVisCustom, null, 'Feature-specific style');\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# FeatureCollection of power plants in Belgium.\nfc = ee.FeatureCollection('WRI/GPPD/power_plants').filter(\n 'country_lg == \"Belgium\"'\n)\n\n# Paint FeatureCollection to an image using collection-wide style arguments.\nfc_vis = fc.style(\n color='1e90ff',\n width=2,\n fillColor='ff475788', # with alpha set for partial transparency\n lineType='dotted',\n pointSize=10,\n pointShape='circle',\n)\n\n# Display the FeatureCollection visualization (ee.Image) on the map.\nm = geemap.Map()\nm.set_center(4.326, 50.919, 9)\nm.add_layer(fc_vis, None, 'Collection-wide style')\n\n# Paint FeatureCollection to an image using feature-specific style arguments.\n# A dictionary of style properties per power plant fuel type.\nfuel_styles = ee.Dictionary({\n 'Wind': {'color': 'blue', 'pointSize': 5, 'pointShape': 'circle'},\n 'Gas': {'color': 'yellow', 'pointSize': 6, 'pointShape': 'square'},\n 'Oil': {'color': 'green', 'pointSize': 3, 'pointShape': 'diamond'},\n 'Coal': {'color': 'red', 'pointSize': 3, 'pointShape': 'cross'},\n 'Hydro': {'color': 'brown', 'pointSize': 3, 'pointShape': 'star5'},\n 'Biomass': {'color': 'orange', 'pointSize': 4, 'pointShape': 'triangle'},\n 'Nuclear': {'color': 'purple', 'pointSize': 6, 'pointShape': 'hexagram'},\n})\n\n# Add feature-specific style properties to each feature based on fuel type.\nfc = fc.map(\n lambda feature: feature.set('style', fuel_styles.get(feature.get('fuel1')))\n)\n\n# Style the FeatureCollection according to each feature's \"style\" property.\nfc_vis_custom = fc.style(\n styleProperty='style',\n neighborhood=8, # maximum \"pointSize\" + \"width\" among features\n)\n\n# Display the FeatureCollection visualization (ee.Image) on the map.\nm.add_layer(fc_vis_custom, None, 'Feature-specific style')\nm\n```"]]