How to create project for a watershed, knowing its USGS HUC code

If I know the USGS HUC code of a given watershed, can I create a project with this watershed as a geographic area, without having to draw it.

Hi @hb100, welcome to the forum! I converted your topic to a General question, since the functionality already exists to be able to do this.

The USGS watersheds have not been added to the iNat Places data as a complete set, and I’m guessing likely never would be, given the massive new indexing and server load that would create.

However, it is possible to create a new place for a specific watershed (as long as it’s not bigger than Texas) if you have a kml for the polygon to upload. Then you can create a project based on that place. First be sure that the place doesn’t already exist. Best way to do that is open the observation detail page for an existing observation within that place, click on Details under the map, and see what existing places encompass the observation. Best to use an existing place if it meets your needs.

If you need to create a new place, note that the system will not let you do this until you have used iNaturalist enough to have posted 50 verifiable observations. This is explained more in the Help pages and in this blog post. The bottom line is to ensure that users have a well-established idea of how iNat works, and the variety of iNat user experiences, before creating new places or projects that potentially impact lots of other observations and users.


I was just today trying to figure out how to create a watershed place. I have the watershed as a shapefile, but I don’t have access any more to ArcGIS which could convert it to a kml. Is there someplace that will do that?

QGIS ( is a free and open source alternative to ArcGIS and can do the conversion.


Google Earth can also convert.
I would also double check that your final file has only a single feature in it – if it has multiple features, iNat will only use one of them.


In Google Earth Pro (now a free download at

  • File ==> Import (choose type: ESRI Shape) (do you want to apply a style template ==> No)
  • In the list of layers, under Temporary Places, keep expanding the new .shp layer until you are seeing individual feature(s) in the list
  • Right-click on the feature (in the list or on the map) you want to convert
  • Save Place As (save as type: kml)
  • Name and save the kml
  • You can now exit Google Earth without saving anything else.

Thanks, @jdmore! I use Google Earth Pro all the time and I knew it would export .kml but did not know it would import a shapefile. That’s great.

1 Like

New feature ?
It would be great to have a feature that creates easily a place, given the USGS HUC code of a watershed.
The impact would be tremendous on the environment. Watershed projects would be easily created. The general public would be more aware of the concept of watershed and more likely to create and join local watershed associations.

1 Like

yes, but the key question in cases like this is who has to do the work? it looks like you could probably extract shapefiles from here ( for conversion to kml.

that said, it looks like a fairly complex set of data, and each watershed boundary seems to be larger than Texas. so i doubt that even if someone took the time to try to load this data, that they could do it even after greatly simplifying the boundaries.

so it would probably take staff to do it, and judging by the progress on loading standard places for the world’s oceans (, i suspect that loading watersheds for the US would not be high on the list of things to do.


@kueda @pleary just a shot in the dark here, but the question in this topic makes me wonder, might there be a way for iNat to interact with external public REST map services to allow spatial selections of iNat observations, without as much system load as internal place polygons would create?

Just asking because it seems like the demand for new and different spatial queries will be insatiable into the future.

i think it would be nice to give users a way to add ad hoc layers to the stock iNaturalist maps. in some cases, i think that might be more useful than actually adding new places to iNaturalist. in the meantime, i’ll just continue to mix data outside of the system…

1 Like

It’s possible, but maybe not performative. Polygon queries in the database (PostGIS) are generally too slow for us to support (fine when you have a couple thousand records and a few simultaneous connections, not fine with you have a couple million records and a lot of simultaneous connections). Polygon queries in our search index are doable, but I think we’d have to do some thorough testing of the performance implications, and I’m pretty sure precision would be an issue (i.e. the boundaries of the polygon would be considered to be a bit fuzzy). Currently queries for observations in places work by storing the IDs of all the places that contain the obs coordinates in the search index (“what polygons contain this point” is a pretty fast database operation) and then when you ask for “observations in Moldova” or something, we pull all the observations that were indexed with the place ID of Moldova, which is very fast, since there are no geometric operations being performed. The performance problems that come with this approach are that every time you add, delete, or change a place boundary, we need to re-index all the observations that were in the old boundary and all the ones that are in the new one, which takes a long time if that place is Texas. Actually performing a geometric operation in the search index would mean less index churn, but probably slower queries.

1 Like

Using :
I could select only the watershed layer.

If I superimpose the borders of my watershed (e.g., at the street level), what should I do next?

if you look at the attributes of that layer (, you’ll find a URL for the feature layer ( from there, you can try to either do an API query or else open up the layer in a GIS application like QGIS to extract the features you want. then convert or export the results as KML, and then load that into iNaturalist.

that said, you should also read the terms of use on the layer attributes page, and make sure you’re complying with those terms.

Hi, hb100!

It looks like your question fell down the rabbit hole of technical professionals discussing technology with other technical professions. (It’s a common pitfall in the forum landscape!)

Which watershed were you trying to use for your project?

(It would help if you’d provide both the code you mention in your post, as well as a verbal description to help confirm it. For example, you might say “I’d like to use the Van Campens Brook / Dunnfield Creek watershed in northwestern New Jersey, near the Delaware border. The USGS Hydrologic Unit Code is # 02040104240.”)

I’ll do my best to help you from there!

~ Chris in Ohio

1 Like

I’d like to use the Lawrence Brook Watershed, in central New Jersey.
Its USGS Hydrologic Unit Code is # 02030105130.

for anyone interested in learning to fish… :fishing_pole_and_fish:

based on this:


  1. search through places in iNaturalist to make sure a similar place doesn’t already exist. you can search by name at alternatively, go to the Explore page, zoom into an area on the map that roughly coincides with your watershed boundaries, and click the Places of Interest button to see if there are any places that encompass or are nearby this area. if an existing place doesn’t already exist, go to the next step. (if the place already exists, skip to the last step.)
  2. open QGIS (download here:
  3. go to Layer > Add Layer > Add ArcGIS FeatureServer Layer…
  4. in the Server Connections popup, click the New button
  5. in the new connection popup, provide a name of your choosing. in the URL box, use you don’t need to fill anything else in this case. click ok.
  6. back at the Server Connections pop-up, select your new connection, and click the Connect button. this brings up a list of layers on the server. in this case you’ll select 17, and click add. that will add the layer to your project.
  7. go to Layer > Open Attribute Table. in the new window, click the Select/Filter Features using form button (or ctrl+F). enter 02030105130 in HUC11 box (or Lawrence Brook in the W_NAME box), and then click Select Features. close the window.
  8. back at the project window, your feature should now be selected. go to Edit > Copy Features. then click Edit > Paste Features as > New Vector Layer.
  9. in the Save Vector Layers as box, select KML as your format. then click on the […] button next to the File Name field. Choose a path on your local machine, and provide a file name of your choosing. click OK.
  10. you can close QGIS at this point.
  11. you now have a KML that you can load into iNaturalist. go to the places page and click on the the Add a New Place button (available only to users with at least 50 verifiable observations, i believe).
  12. in the Create a Place screen, provide a descriptive name, and select your KML file. add a parent if it exists, and select a place type, if you like. then save your place. you now have a new place.
  13. now go to your project (or create one if you haven’t already), and use this new place in your project setup.

keep in mind:

there are also alternative / faster ways to do this, but this is a good general process, i think.


Thanks. I seems a bit complex, but I’ll try it.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.