Creating IDW-rasters from each field in large point feature set using ArcPy for ArcGIS Pro? [closed] Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Finding problematic rasters in large set of rasters using ArcPy?Efficiently changing field names added by Extract Multi Values to Points tool in ArcPy for large dataset?Creating parallel line in ArcGIS Pro using ArcPy?Referencing Enterprise Geodatabase feature classes from ArcPy with ArcGIS Pro?Removing map from ArcGIS Pro project using ArcPy?Creating Color Ramp programmatically using ArcPy in ArcGIS Pro?Extrapolating with IDW (Feature Classes) in ArcGIS Pro?Replacing integer values in field using ArcPy for ArcGIS Pro?Listing layers from .mxd file using ArcPy for ArcGIS Pro?Creating quarterly rasters from monthly rasters for multiple years with ArcPy?
"Destructive power" carried by a B-52?
How do Java 8 default methods hеlp with lambdas?
Is a copyright notice with a non-existent name be invalid?
Marquee sign letters
newbie Q : How to read an output file in one command line
Statistical analysis applied to methods coming out of Machine Learning
Why did Bronn offer to be Tyrion Lannister's champion in trial by combat?
Does the universe have a fixed centre of mass?
Keep at all times, the minus sign above aligned with minus sign below
Russian equivalents of おしゃれは足元から (Every good outfit starts with the shoes)
Is there a verb for listening stealthily?
NIntegrate on a solution of a matrix ODE
Any stored/leased 737s that could substitute for grounded MAXs?
Is there a spell that can create a permanent fire?
An isoperimetric-type inequality inside a cube
How could a hydrazine and N2O4 cloud (or it's reactants) show up in weather radar?
Is the time—manner—place ordering of adverbials an oversimplification?
Why are two-digit numbers in Jonathan Swift's "Gulliver's Travels" (1726) written in "German style"?
Adapting the Chinese Remainder Theorem (CRT) for integers to polynomials
Derived column in a data extension
.bashrc alias for a command with fixed second parameter
latest version of QGIS fails to edit attribute table of GeoJSON file
Found this skink in my tomato plant bucket. Is he trapped? Or could he leave if he wanted?
Inverse square law not accurate for non-point masses?
Creating IDW-rasters from each field in large point feature set using ArcPy for ArcGIS Pro? [closed]
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?Finding problematic rasters in large set of rasters using ArcPy?Efficiently changing field names added by Extract Multi Values to Points tool in ArcPy for large dataset?Creating parallel line in ArcGIS Pro using ArcPy?Referencing Enterprise Geodatabase feature classes from ArcPy with ArcGIS Pro?Removing map from ArcGIS Pro project using ArcPy?Creating Color Ramp programmatically using ArcPy in ArcGIS Pro?Extrapolating with IDW (Feature Classes) in ArcGIS Pro?Replacing integer values in field using ArcPy for ArcGIS Pro?Listing layers from .mxd file using ArcPy for ArcGIS Pro?Creating quarterly rasters from monthly rasters for multiple years with ArcPy?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I am using ArcGIS Pro 2.3.2
I am trying to automate the process of making a raster (IDW tool) in model builder by iterating through fields as z-value. I saw some other question asking the same, and it seems that it couldn't be done that easy in ModelBuilder, and that Python was the way to go.
I have this point feature of 200+ points that all have around 70 fields of Z-values (elements). In the snip below, you can see fields with elements, and also fields with ID's and other that I don't want to make a IDW raster out of.
So for Lithium, it would produce this raster:
Now, how would I go about doing this process for all fields, except the ones without elements?
If it's easier, I wouldn't mind just deleting the non-element rasters afterwards, if I could maybe name the raster set after the field name perhaps.
arcpy arcgis-pro inverse-distance-weighted
closed as off-topic by PolyGeo♦ Apr 12 at 21:00
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "When seeking help to debug/write/improve code always provide the desired behavior, a specific problem/error and the shortest code (as formatted text, not pictures) needed to reproduce it in the question body. Providing a clear problem statement and a code attempt helps others to help you." – PolyGeo
add a comment |
I am using ArcGIS Pro 2.3.2
I am trying to automate the process of making a raster (IDW tool) in model builder by iterating through fields as z-value. I saw some other question asking the same, and it seems that it couldn't be done that easy in ModelBuilder, and that Python was the way to go.
I have this point feature of 200+ points that all have around 70 fields of Z-values (elements). In the snip below, you can see fields with elements, and also fields with ID's and other that I don't want to make a IDW raster out of.
So for Lithium, it would produce this raster:
Now, how would I go about doing this process for all fields, except the ones without elements?
If it's easier, I wouldn't mind just deleting the non-element rasters afterwards, if I could maybe name the raster set after the field name perhaps.
arcpy arcgis-pro inverse-distance-weighted
closed as off-topic by PolyGeo♦ Apr 12 at 21:00
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "When seeking help to debug/write/improve code always provide the desired behavior, a specific problem/error and the shortest code (as formatted text, not pictures) needed to reproduce it in the question body. Providing a clear problem statement and a code attempt helps others to help you." – PolyGeo
add a comment |
I am using ArcGIS Pro 2.3.2
I am trying to automate the process of making a raster (IDW tool) in model builder by iterating through fields as z-value. I saw some other question asking the same, and it seems that it couldn't be done that easy in ModelBuilder, and that Python was the way to go.
I have this point feature of 200+ points that all have around 70 fields of Z-values (elements). In the snip below, you can see fields with elements, and also fields with ID's and other that I don't want to make a IDW raster out of.
So for Lithium, it would produce this raster:
Now, how would I go about doing this process for all fields, except the ones without elements?
If it's easier, I wouldn't mind just deleting the non-element rasters afterwards, if I could maybe name the raster set after the field name perhaps.
arcpy arcgis-pro inverse-distance-weighted
I am using ArcGIS Pro 2.3.2
I am trying to automate the process of making a raster (IDW tool) in model builder by iterating through fields as z-value. I saw some other question asking the same, and it seems that it couldn't be done that easy in ModelBuilder, and that Python was the way to go.
I have this point feature of 200+ points that all have around 70 fields of Z-values (elements). In the snip below, you can see fields with elements, and also fields with ID's and other that I don't want to make a IDW raster out of.
So for Lithium, it would produce this raster:
Now, how would I go about doing this process for all fields, except the ones without elements?
If it's easier, I wouldn't mind just deleting the non-element rasters afterwards, if I could maybe name the raster set after the field name perhaps.
arcpy arcgis-pro inverse-distance-weighted
arcpy arcgis-pro inverse-distance-weighted
edited Apr 12 at 21:00
PolyGeo♦
54.1k1782246
54.1k1782246
asked Apr 12 at 12:17
DOMINUS MIHI ADIUTORDOMINUS MIHI ADIUTOR
77113
77113
closed as off-topic by PolyGeo♦ Apr 12 at 21:00
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "When seeking help to debug/write/improve code always provide the desired behavior, a specific problem/error and the shortest code (as formatted text, not pictures) needed to reproduce it in the question body. Providing a clear problem statement and a code attempt helps others to help you." – PolyGeo
closed as off-topic by PolyGeo♦ Apr 12 at 21:00
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "When seeking help to debug/write/improve code always provide the desired behavior, a specific problem/error and the shortest code (as formatted text, not pictures) needed to reproduce it in the question body. Providing a clear problem statement and a code attempt helps others to help you." – PolyGeo
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
The tricky part is to only list the element fields and no other. You can do this in multiple ways, for example:
- Manually listing the fields which are not element fields, example below. Or manually list all element fields
- Use a wildcard with listfields, for example if all your element fields start with some letter
- List fields with names shorter than 4 letters
Example (untested, I dont have spatial analyst, you will probably need to look at the syntax for IDW and adjust the parameters):
import arcpy
from os.path import join
fc = r'C:data.gdbfeatureclass' #Change
out_gdb = r'C:outdata.gdb' #Change
not_elementfields = ['OBJECTID','SHAPE','RowID'] #Change
elementfields = [field.name for field in arcpy.ListFields(fc) if f.name not in not_elementfields]
#elementfields = [field.name for field in arcpy.ListFields(fc) if len(f.name)<4]
print(elementfields)
#Run code above first to get the listing correct, then run everything
for field in elementfields:
print(f'Proccessing IDW for fieldname field')
outIDW = arcpy.sa.Idw(in_point_features=fc, z_field=field, cell_size=5, power=0.5,
search_radius= RadiusVariable(12))
outIDW.save(join(out_gdb,f'IDW_field'))
(This is also possible:
import pandas as pd
data = pd.read_csv('https://sciencenotes.org/PDFs/elementlist.csv', names = ['number','symbol','element'])
elements = list(data.symbol)
elementfields = [f.name for f in arcpy.ListFields(fc) if f.name.title() in elements] # title method will camelcase your field names, BE->Be, to match the csv file
)
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The tricky part is to only list the element fields and no other. You can do this in multiple ways, for example:
- Manually listing the fields which are not element fields, example below. Or manually list all element fields
- Use a wildcard with listfields, for example if all your element fields start with some letter
- List fields with names shorter than 4 letters
Example (untested, I dont have spatial analyst, you will probably need to look at the syntax for IDW and adjust the parameters):
import arcpy
from os.path import join
fc = r'C:data.gdbfeatureclass' #Change
out_gdb = r'C:outdata.gdb' #Change
not_elementfields = ['OBJECTID','SHAPE','RowID'] #Change
elementfields = [field.name for field in arcpy.ListFields(fc) if f.name not in not_elementfields]
#elementfields = [field.name for field in arcpy.ListFields(fc) if len(f.name)<4]
print(elementfields)
#Run code above first to get the listing correct, then run everything
for field in elementfields:
print(f'Proccessing IDW for fieldname field')
outIDW = arcpy.sa.Idw(in_point_features=fc, z_field=field, cell_size=5, power=0.5,
search_radius= RadiusVariable(12))
outIDW.save(join(out_gdb,f'IDW_field'))
(This is also possible:
import pandas as pd
data = pd.read_csv('https://sciencenotes.org/PDFs/elementlist.csv', names = ['number','symbol','element'])
elements = list(data.symbol)
elementfields = [f.name for f in arcpy.ListFields(fc) if f.name.title() in elements] # title method will camelcase your field names, BE->Be, to match the csv file
)
add a comment |
The tricky part is to only list the element fields and no other. You can do this in multiple ways, for example:
- Manually listing the fields which are not element fields, example below. Or manually list all element fields
- Use a wildcard with listfields, for example if all your element fields start with some letter
- List fields with names shorter than 4 letters
Example (untested, I dont have spatial analyst, you will probably need to look at the syntax for IDW and adjust the parameters):
import arcpy
from os.path import join
fc = r'C:data.gdbfeatureclass' #Change
out_gdb = r'C:outdata.gdb' #Change
not_elementfields = ['OBJECTID','SHAPE','RowID'] #Change
elementfields = [field.name for field in arcpy.ListFields(fc) if f.name not in not_elementfields]
#elementfields = [field.name for field in arcpy.ListFields(fc) if len(f.name)<4]
print(elementfields)
#Run code above first to get the listing correct, then run everything
for field in elementfields:
print(f'Proccessing IDW for fieldname field')
outIDW = arcpy.sa.Idw(in_point_features=fc, z_field=field, cell_size=5, power=0.5,
search_radius= RadiusVariable(12))
outIDW.save(join(out_gdb,f'IDW_field'))
(This is also possible:
import pandas as pd
data = pd.read_csv('https://sciencenotes.org/PDFs/elementlist.csv', names = ['number','symbol','element'])
elements = list(data.symbol)
elementfields = [f.name for f in arcpy.ListFields(fc) if f.name.title() in elements] # title method will camelcase your field names, BE->Be, to match the csv file
)
add a comment |
The tricky part is to only list the element fields and no other. You can do this in multiple ways, for example:
- Manually listing the fields which are not element fields, example below. Or manually list all element fields
- Use a wildcard with listfields, for example if all your element fields start with some letter
- List fields with names shorter than 4 letters
Example (untested, I dont have spatial analyst, you will probably need to look at the syntax for IDW and adjust the parameters):
import arcpy
from os.path import join
fc = r'C:data.gdbfeatureclass' #Change
out_gdb = r'C:outdata.gdb' #Change
not_elementfields = ['OBJECTID','SHAPE','RowID'] #Change
elementfields = [field.name for field in arcpy.ListFields(fc) if f.name not in not_elementfields]
#elementfields = [field.name for field in arcpy.ListFields(fc) if len(f.name)<4]
print(elementfields)
#Run code above first to get the listing correct, then run everything
for field in elementfields:
print(f'Proccessing IDW for fieldname field')
outIDW = arcpy.sa.Idw(in_point_features=fc, z_field=field, cell_size=5, power=0.5,
search_radius= RadiusVariable(12))
outIDW.save(join(out_gdb,f'IDW_field'))
(This is also possible:
import pandas as pd
data = pd.read_csv('https://sciencenotes.org/PDFs/elementlist.csv', names = ['number','symbol','element'])
elements = list(data.symbol)
elementfields = [f.name for f in arcpy.ListFields(fc) if f.name.title() in elements] # title method will camelcase your field names, BE->Be, to match the csv file
)
The tricky part is to only list the element fields and no other. You can do this in multiple ways, for example:
- Manually listing the fields which are not element fields, example below. Or manually list all element fields
- Use a wildcard with listfields, for example if all your element fields start with some letter
- List fields with names shorter than 4 letters
Example (untested, I dont have spatial analyst, you will probably need to look at the syntax for IDW and adjust the parameters):
import arcpy
from os.path import join
fc = r'C:data.gdbfeatureclass' #Change
out_gdb = r'C:outdata.gdb' #Change
not_elementfields = ['OBJECTID','SHAPE','RowID'] #Change
elementfields = [field.name for field in arcpy.ListFields(fc) if f.name not in not_elementfields]
#elementfields = [field.name for field in arcpy.ListFields(fc) if len(f.name)<4]
print(elementfields)
#Run code above first to get the listing correct, then run everything
for field in elementfields:
print(f'Proccessing IDW for fieldname field')
outIDW = arcpy.sa.Idw(in_point_features=fc, z_field=field, cell_size=5, power=0.5,
search_radius= RadiusVariable(12))
outIDW.save(join(out_gdb,f'IDW_field'))
(This is also possible:
import pandas as pd
data = pd.read_csv('https://sciencenotes.org/PDFs/elementlist.csv', names = ['number','symbol','element'])
elements = list(data.symbol)
elementfields = [f.name for f in arcpy.ListFields(fc) if f.name.title() in elements] # title method will camelcase your field names, BE->Be, to match the csv file
)
edited Apr 14 at 16:56
answered Apr 12 at 12:35
BERABERA
17.4k62044
17.4k62044
add a comment |
add a comment |