GM-SEUS Solar Panel Rows
NOTE: The manually digitized solar panel-rows described in this document are no longer under consideration for import into OpenStreetMap. During community discussion on the Import Forum, several methodology conflicts were identified. Specifically:
- Our use of NAIP imagery led to misalignment with OSM basemap imagery (likely an orthorectification issue).
- OSM’s upload limitations and requirements created barriers to handling the large number of features.
- The digitization resulted in non-squared panel-row edges, influenced by NAIP imagery timing and look angle.
Because our research requires NAIP and the methods described here, these issues are not easily resolved for OSM integration. That said, we believe the discussion on this Wiki and in the Import Forum remains valuable, and we are supportive of broader, collaborative efforts to map the energy landscape like those of the community commentors on our import post and MapYourGrid. For information on our research mapping or potential collaborations, contact [email protected].
Overview of Ground-Mounted Solar Energy in the United States (GM-SEUS)
The Ground-Mounted Solar Energy in the United States (GM-SEUS) dataset is a harmonized, open access, and regularly updated geospatial and temporal repository of solar energy arrays and panel-rows (see Figure 1). GM-SEUS contains spatiotemporal information and value-added attributes for commercial- (<1 MWDC) and utility-scale (≥1 MWDC) solar photovoltaic (PV) and concentrating solar power (CSP) installations in the United States (US) and is explained in Stid et al., 2025. GM-SEUS was built using existing datasets (including OpenStreetMap solar farm and panel data), machine learning, and object-based image analysis to enhance existing sources. This dataset, wiki, and project support expanding GM-SEUS with with a version update (version 1.1) to have greater panel-row coverage. The data contributed to GM-SEUS from OpenStreetMap is invaluable, and we thus also provide this dataset to support OpenStreetMap's mission to make the best map data set of the world.
MSU Hydrogeology Lab Wiki Pages:
- MSUwiki home page
- MSUwiki import home page
Other Important Links:
- Digitized geospatial dataset of ground-mounted solar energy panel-rows in the United States to be Contributed to OpenStreetMap
- Full GM-SEUS Version 1.0 Data Repository
- GitHub Codebase
- Peer-reviewed article in Scientific Data
This import and related project are products of the Michigan State University Hydrogeology Lab.


Goal and Contribution
As part of the GM-SEUS updates, we make an effort to manually digitize solar panel-rows (Figure 3) to fill gaps in and enhance coverage of solar array sub-array design metadata in the United States. The primary goal of this OSM import is to enhance OpenStreetMap’s solar energy coverage by adding a large dataset of hand-digitized solar panel-rows, supporting both OpenStreetMap and GM-SEUS.
The entire hand delineated dataset contains 24,182 hand-delineated solar panel-rows (5.29 km²) composing 1,485 arrays previously without panel-row data, spanning the Contiguous United States (CONUS) and digitized by Charlie Bonten. Of these, 23,870 panel-rows did not conflate with existing OpenStreetMap contributions, and composed 1,450 arrays. As of August 29th, 2025, this upload represents a 2.1% increase in panel-row count and a 23.1% increase in the number of arrays with panel-row data in OpenStreetMap. These panel-rows are the intended contribution to OpenStreetMap. We omit the solar farm/array boundaries, since these were generated by an automated process.
OSM Import Note
Within the Zenodo data repository for GMSEUSv1_1_newlydigitizedPanels, there are multiple files (please read the contained README.txt for file description). Files with the .osm extension are prepared for viewing in OpenStreetMap editors (e.g., JOSM). However, the ONLY file intended to be added to the OpenStreeMap repository is GMSEUSv1_1_digUnique.osm, with other .osm files intended for context and to be shared in the Wiki map.
Schedule
- Import canceled due to methodology conflicts.
Import Data
Background
- Data License: NAIP imagery was used for digitization. NAIP dataset is in the public domain and is intended for public access and use. Its license type is {{PD-USGov}}. Clicking here will take you to the NAIP licensing page.
- ODbL Compliance Verified: YES
OSM Data Files
- OSM Files: Clicking here will take you to our Zenodo repository with our .osm data files.
- NOTE: All files with the .osm extension are prepared for upload to OpenStreetMap, but the ONLY file inteded to be uploaded to the OSM repository is GMSEUSv1_1_digUnique.osm, with the other .osm files are intended for context.
Import Type
- Single time, not recurring
- The method that will be used for entering the imported data into the OSM database will be with the JOSM software using OpenWebStart javaws to run the josm.jnlp.
Data Preparation
Tagging Plans
- Digitized solar panel-row GeoJSON and osm files located in our Zenodo repository contain the recommended solar generator attributes. These attributes are given by the list below:
- generator:method=photovoltaic
- generator:output:electricity=yes
- generator:solar:tracking=no or yes
- generator:source=solar
- generator:type=solar_photovoltaic_panel
- location=surface
- power=generator
- direction=cardinal orientation of panel-row face (short edge) in degrees from North
Changeset Tags
- changesets will be tagged with source=GMSEUSv1_1_newlyDigPanels
Data Transformation
- See workflow
Data Transformation Results
Data Merge Workflow
Team Approach
- The approach for this project will be a collaborative team effort from members of the Michigan State University Hydrogeology Lab.
Workflow
- The workflow for the digitization process of each panel-row can be found in the document titled "DigitizationWorkflow_v1_1.pdf" located within the digitized panel-rows Zenodo repository. Here, we provide a simplified or generalized overview of the digitization process.
- GM-SEUS v1.0 contains panel-rows from OpenStreetMap and from aerial imagery classification. However, it does not contain panel-row data for ~5000 of the 15,000 solar arrays within the database. To optimize the time value of added panel-rows, we ordered arrays by array area (see script_digitizeSolarPanelRows.js) and began digitizing panel-rows from smallest to largest array without panel-row data.
- We digitized these panel-rows using Google Earth Engine code editor and National Agriculture Imagery Program (NAIP) imagery where available and satellite imagery where NAIP was not available. We recorded this process and all other relevant notes and metadata in the "PanelRowDigitizationMetadata_v1_1.csv", contained within the digitized panel-rows Zenodo repository.
- The workflow for the process of uploading the digitized panel-rows to the OSM database is as follows:
- Solar panel-rows were digitized in Google Earth Engine (GEE) using "script_digitizeSolarPanelRows.js. Upon completion of panel-row digitization (arbitrary, time allocation based decision while ensuring completion of initiated array digitization), all panel-row shapes were merged and expoerted a SHP in a personal google drive
- GM-SEUS includes a pull of existing OpenStreetMap panel-row data. However, the most recent version of GM-SEUS was processed on December 11th, 2024. This import's digitization was completed between May 5th and August 8th, 2025. Therefore, GM-SEUS OpenStreetMap panel-row data was out of date, and an update panel-row pull was performed between August 19th and 23rd, 2025 to check for conflation.
- The script titled "script0_getOSMdata.ipynb" located in our github repository was used to pull all the current OSM panel-rows.
- We then used a script titled, "script_prepareNewDigPanels.ipynb" to overlay panel-rows and check for conflation and add all necessary attributes to the panel-rows.
- Conflation: We used a function "gmseusUtils.py" called createArrayFromPanels. This function takes all solar panel-rows in a given dataset, buffers them, merges the overlapped shape, and then erodes the resulting shape resulting what we define as an array shape (Figure 3). With array shapes from OpenStreetMap and our newly digitized panel-rows, we performed a spatial join to identify overlapping array panel-row data (conflating).
- Direction Tag: The "direction=" tag, referenced in the solar tagging approach, was defined as the azimuth of the panel-row, where the azimuth is the cardinal direction of the short edge (face) of the panel-row in degrees from north (see Figure 3). This was assessed using the assignMountType function within "gmseusUtils.py", and has been used in our previous and current work.
- Tracking Tag: the "generator:solar:tracking", was defined using the azimuth (defined above) and the long edge to short edge ratio of the panel-row (Figure 3), with more rectangular panel-rows being classified as fixed-axis (tracking=no) if their azimuth was primarily in the south direction, and tracking if otherwise (including square-like panel-rows which were dual-axis, or rectangular panel-rows in the east/west azimuthal direction). This was also assessed using the assignMountType function within "gmseusUtils.py", and has been used in our previous and current work.
- Out of 1,485 arrays that were digitized, 35 of them consisting of 312 panels conflated with the newly pulled OSM data. Thought the digitized panel-rows Zenodo repository contains all files, the 35 conflated arrays were removed and saved as "GMSEUSv1_1_digUnique.osm". This is the file that will be imported to the OSM database.
- The CRS for all datasets was set to EPSG:4326 using the geopandas package in "script_prepareNewDigPanels.ipynb".
- The software application that will be used to import "GMSEUSv1_1_digUnique.osm" into the OSM database will be Java OpenStreetMap Editor (JOSM)
- For reference these steps were done on a Mackbook Pro.
- The software for JOSM is a file titled "josm.jnlp". That file was opened using another software called OpenWebStart Javaws.
- Once Inside the JOSM software the "GMSEUSv1_1_digUnique.osm" file was opened by clicking "open" and then selecting the file.
- Quality Assurance
- Once "GMSEUSv1_1_digUnique.osm" has been opened inside JOSM, I zoomed in on some of the individual panel-rows in order to confirm that they had been converted properly. Additionally individual panel-rows were selected to make sure that the attributes had been transferred correctly.
Conflation
- See workflow
Figures Referenced in this Wiki


Community Forum Post
The post was to the community forum was sent on 2025-09-03 and can be found here.