POST
|
Mark, I don't have ArcGIS 10 so I've had to do this in 9.3 python, so the code is a little different. My knowledge of Python ain't great but I realised you are not actually returning a value and what was getting passed to the function was is a string and you were not writing the new string back to the row. So below is some code that worked on a table I knocked up, hope you understand it? Duncan import arcgisscripting
gp =arcgisscripting.create(9.3)
gp.workspace= r"C:\temp"
def renamefld(a):
if a == 1:
return "Natural Forest"
elif a == 2:
return "Planted Forest - Pre-1990"
else:
# Return an ! so we know not to attempt to update row
print "Error with converting subtype to text"
return "!"
# Create update cursor
rows = gp.UpdateCursor("test.dbf")
row = rows.Next()
while row:
# Get row information
id = row.id
type = row.type
# Call function to change type
type = renamefld (id)
# update row object
if type != "!":
row.type = type
rows.updateRow(row)
row = rows.Next()
# release cursor
del row
del rows
... View more
01-16-2011
09:51 AM
|
0
|
0
|
528
|
POST
|
Demetris, I just tried you code on a table using the numeric field ObjectID and it works fine for me, this suggests there is something wrong with you R_Order field, does it contain <Null> values for example? Can you sort by this field in ArcMap? Duncan
... View more
01-15-2011
03:14 AM
|
0
|
0
|
359
|
POST
|
Frank, I don't know if I am giving you a red herring here but having looked at you model it's quite complex and I was wonder what order things are running in. You can make a proccesses output a precondition to another and this means "only run this process if the the precondition is successful" and this enforces a sequence to your model. It may be a pure fluke that the order you added the tools to your model is the order than runs well in edit mode? Just an idea and may not actually be the answer to your problem! Duncan
... View more
01-14-2011
05:12 AM
|
0
|
0
|
190
|
POST
|
Bad news I'm affraid. Avenue was the programming language of ArcView 3.x and is total different to python. There is no translation program for it. Basically you got to read the Avenue logic understand it and write it from scratch in python which has its own and very different syntax. Good luck!
... View more
01-14-2011
05:00 AM
|
0
|
0
|
247
|
POST
|
Demetris, See sample VBA code below on how to get a descending sort order. Duncan Public Sub Test()
Dim pTable As ITable
Set pTable = FindTableInMap("Downstream_Polylines")
Dim pTableSort As ITableSort
Set pTableSort = New esriGeoDatabase.TableSort
With pTableSort
Set .Table = pTable
Set .QueryFilter = Nothing
.Fields = "OBJECTID"
.Ascending("OBJECTID") = True ' TRUE is ascending, if set to FALSE then descending
.Sort Nothing
End With
Dim pCursor As ICursor
Set pCursor = pTableSort.Rows
Dim pRow As IRow
Set pRow = pCursor.NextRow
Do While Not pRow Is Nothing
Debug.Print pRow.Value(0)
Set pRow = pCursor.NextRow
Loop
End Sub
... View more
01-14-2011
02:21 AM
|
0
|
0
|
359
|
POST
|
Brent, OK, first thing first, if you run your model from ArcMap and supply those parameters exactly how you've written them does the model execute without a problem? I ask this as you have brackets a spaces in your path names. If you are not getting an error running it as a model then it suggests something is going wrong with the parameters. Also the execute method returns an object of type IGeoProcessorResult. Maybe you should get a hold of that and see what kind of error message it's returning? Have you set you parameters object to IVariantArray? Duncan
... View more
01-13-2011
10:27 AM
|
0
|
0
|
478
|
POST
|
bxe6736, Is this your real name? The only thing I spotted with your code snippet is the line: Dim GP As Geoprocessor = New Geoprocessor() I think should be: Dim GP As IGeoprocessor = New Geoprocessor() If this does not fix your problem it would help us if you uploaded the toolbox, does the model have parameters for example as you are supplying none? Duncan
... View more
01-12-2011
08:15 AM
|
0
|
0
|
478
|
POST
|
Dale, If I was calling an existing geoprocessing tool in VB then I would use the IGeoProcessor Interface. Search for this in the Help and then may be the forum to see how to set it up and supply the parameters to execute it. Have a look at this thread, the basic syntax is all there. Duncan
... View more
01-09-2011
04:05 AM
|
0
|
0
|
383
|
POST
|
Chris, First of all do you have the VBA developer help installed? If you are going to do any coding in VBA this is essential as you can search this or highlight an ArcObjects interface in the VBA editor and press F1 to find out all about it. You'll need the installation DVD to install it. Once you got that going just type IEditor you will see a method called StartEditing and all the others you need. Most Interfaces come with example code and you can see exactly how to start and stop editing in VBA. Duncan
... View more
01-09-2011
03:46 AM
|
0
|
0
|
245
|
POST
|
Neil, IHitTest... never knew about this Interface, ArcObjects just keeps on giving! 🙂 Duncan
... View more
12-16-2010
01:34 AM
|
0
|
0
|
311
|
POST
|
Orsela, The way I would have done this is use the ISegmentCollection and it's property Segment to loop over the collection of ISegments then use something like IProximityOperator to test if the point intersects the segment. Well that's how I would have done it... Duncan
... View more
12-15-2010
04:48 AM
|
0
|
0
|
311
|
POST
|
Harsha, What format is your underlying data stored as? If you've got MM then that should be stuck in a File Geodatabase and compressed. If any of your data is Shapefile make sure you have built spatial indices for them. If your data is multi-part explode it into single part and make sure you have a scale threshold set for layers. If you are opening the MXD at the level of the UK you only want to be displaying the coastline and probably key cities, motorways then the other datasets become visible at their appropriate scale. Duncan
... View more
12-15-2010
04:41 AM
|
0
|
0
|
417
|
POST
|
Kalid, This can be achieved by using the "field_CumulateValues.cal" script which is free to download from this website. In fact there are many useful scripts here. Duncan
... View more
12-11-2010
03:04 PM
|
0
|
0
|
313
|
POST
|
Joe, Finally! I'm always telling people to RTFM and I practise what I preach but it seems the 9.3 desktop help is not the same as the 9.3 online desktop help. I note it says on that page (despite it saying 9.3 Help) that it has been update for 9.3.1 and there bold as brass is that property Path... There are a load of other properties too I never knew the describe object could do, this is very frustrating. The sooner they give up on python and go back to VBA the better! 😉 Thanks for your help. Duncan
... View more
12-09-2010
01:37 PM
|
0
|
0
|
988
|
POST
|
Joe, Sorry to bang on about this but I looked at the Help page you identified, a page I have looked at before but I see NO mention of the property (thanks for correcting me) Path. There is the property CatalogPath which you use on a dataset object but this actually returns something slightly different (with a shapefile). So where did you find out about the property Path? Duncan
... View more
12-09-2010
12:14 PM
|
0
|
0
|
988
|
Title | Kudos | Posted |
---|---|---|
2 | a week ago | |
1 | 2 weeks ago | |
1 | 3 weeks ago | |
1 | 2 weeks ago | |
1 | 04-04-2022 06:30 AM |
Online Status |
Offline
|
Date Last Visited |
a week ago
|