This is how the Iterator works. It iterates the entire model for all the processes inside.
If you only want to run Make XY Event Layer once, you'll need to do a model-in-a-model.
Put the Make XY and any other pieces you only want run once into their own model. Then bring the iterator model into this run-once model. You'll probably need to use Collect ...
I believe your bottom right (iterate_nndvi) model needs to be a sub-model in your bottom left (iterate_masks).
If you think about it, you enter iterate_masks, this loops as many times as needed then passes out a single mask raster, hence you are only extracting with one unchanging raster. Place iterate_nndvi inside iterate_masks and connect will ensure ...
ListFeatureClasses will search in current workspace, which is r'C:\Vector\20190902'. You need to change it to point at each gdb when listing feature classes.
I dont know why you are listing datasets, are you sure that is what you want?
If you have a structure like this, code below will work:
import arcpy, os
arcpy.env.workspace = r'C:\GIS\...
The bulk of this answer is pulled from http://desktop.arcgis.com/en/arcmap/10.3/tools/modelbuilder-toolbox/iterate-row-selection.htm
This only works in ModelBuilder (not in an arcpy script). It allows you to iterate through a selection of rows based on field values. If you don't select something to group by, then it goes through each row of your input table ...
You can use arcpy. List the rasters using ListRasters and copy to new fgdb. Change input and output databases and execute in python window:
import arcpy, os
input_fgdb = r'C:\Somedatabase.gdb'
output_fgdb = r'C:\Someoutputdatabase.gdb'
arcpy.env.workspace = input_fgdb
rasterlist = [r for r in arcpy.ListRasters() if 'day' in r]
for r in rasterlist:
Expose "New geodatabase" in your delete datasets model as a parameter.
Drag that model into your master model, which you appear to have called "Model 1".
Connect the output of copy to the embedded sub-model.
Your main model running once makes sense as I think the logic is flawed. For Sub mod 5, 4 and 10 - They iterate over a directory looking for B4, B5 and B10 rasters.
As a Landsat scene only has 1 B4, B5 and B10 raster you get 1 raster feeding out of these sub-models. Hence the whole main model runs once.
I suspect you have a conflict in your sub-models ...
Your path contains a form feed escape sequence - \f.
You need to use a raw string as your input. Raw strings ignore escape sequences.
Note the r before the start of the string.
As you have not posted your error messages nor your configuration of your Zonal Statistics as Table element in the model, I can only guess as to what is going on here based on your question title. My guess is that your model is trying to repeatedly overwrite the output table and failing, because the output exists already.
If this is the case, then you can ...
Inserting a string variable into the model with the appropriate geographic transformation and feeding it into the Project Raster tool did the trick. This would seem like a very straightforward thing to do but getting this to work was an incredibly finicky process. Lots of error messages, unconnecting and reconnecting tools, reselecting, validating the model, ...
About 10 years ago, before I learned ArcPy where iteration is much easier, which was also before iterators were available in ModelBuilder, I believe I was able to do tasks such as this using ModelBuilder.
I think the keys to doing it now would be:
Prior to iterating have an empty table with a field to hold your counts for each feature class - let's call ...
You should look into the nested model approach. With this design you can have 1 model that contains the Feature Comparer. This model would have 2 parameters (or more if needed): 1 for input base features and 1 for input test features (maybe 1 for sort field).
The second model would contain your iterator and this is where you could control which feature ...
It is a little confusing without seeing the data but I will assume your point layer o3_12days_v3 has a date field. In your iterator your group by field would be the date field so you can imagine that I_o3_12days_v3_date_id is a subset of points for a specific date being pulled out of o3_12days_v3. It is that green blob that needs to be the input into the IDW ...
I would personally perform the Buffer on all of the car GPS points and Spatial Join them to all of the people points regardless of time using the One to Many option to preserve all of the data for all of the cars and people. Then I could use an Attribute query to select against the time fields to find all people within 5 seconds of every car time:
When asking a modelbuilder question, which is a very visual way of processing data, it would help if you include an image of what you had done so far as wordy text is hard to follow. You can always amend your question to improve.
So you want to reference two datasets in one tool (the Con tool) over some time period? Well that's how I read your question.
It sounds like you do not have uniquely identified records, i.e., there are some near or true duplicates.
According to the ArcGIS 10.4 Interate Row Selection documentation, if you set group by fields and those group by fields are the same for two records, Iterate Row Selections should skip the second record. If you do not set a group by field, the tool ...
You need to add a Copy Raster tool to the end of your model to convert the in memory layer to a real dataset.
Be aware that the input name you are picking up from the .nc file is valid for the output workspace. Because of this I would write them to a folder as tiffs