3

I'm working on a closest facility analysis using ArcGIS ModelBuilder and want to enable the user to add locations interactively (i.e. typing the coordinates, not using any table or source layer).

I created a point feature class with two fields (X, Y) in ModelBuilder and added a new row -a new point- using a small Python script, so I only need to create something that allows the user to type the coordinates of the point and copy them to the (X, Y) fields of the feature class.

I have tried it with Create Variable (either Point or Double) + Collect Values + Append, but it does not work because the outputs of Collect Values are not recognised as valid inputs in Append.

Any suggestions?

enter image description here

4
  • Is the model creating one point feature each time it is run?
    – artwork21
    Jan 12, 2016 at 17:42
  • As it is designed now, yes. Maybe I will modify that in the end, but my concern now is how to fill in the X (Add Field) and Y (Add Field (2)) fields of the point I create with Add Row.
    – DaniJ
    Jan 12, 2016 at 17:48
  • Have not tested but you should be able to create a variable for both those parameters and use in-line variable substitution method within Calculate Field tool to write the values to the defined fields. If in the future you move to many features I would recommend converting the model to a python script tool and using arcpy da update cursor to write the values.
    – artwork21
    Jan 12, 2016 at 18:14
  • Many thanks artwork21, that makes sense. I have tried it for X creating a variable named X_Value (double, same type that the field) and typing %X_Value% in Expression in Calculate Field, but it does not work either.
    – DaniJ
    Jan 12, 2016 at 18:31

1 Answer 1

1

This should work, make sure your variables and the destination calculated fields are of the same data type (Double to Double or String to String...etc) (if string your in-line variable will need double quotes surround the percent symbols):

enter image description here

and...

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.