POST
|
Thank shaun for the reply. But I think I figure that out. This is how I did it. Even though it is messy, it is working !! tool_exec <- function(in_params, out_params) { # load the required packages cat(paste0("\n", "Loading packages...", "\n")) library(arcgisbinding) arc.check_product() # read input and output parameters folder_path=in_params[[1]]# folder path shp_name=in_params[[2]] # input shapefile name n=as.integer(in_params[[3]])# write in how many random sites you want selected m=as.integer(in_params[[4]])#write in how many "contingency" random sites out_shp=in_params[[5]] # output shapefile name setwd(folder_path)# shapefile path extension <- ".dbf" dbfFile = paste (shp_name,extension,sep="")# concatnate library(spsurvey) att <- read.dbf(dbfFile) # write in the name of your # random point shapefile and add the file # extension .dbf att$stratum <- rep("Study", nrow(att)) dsgn <- list("Study"=list(panel=c(Base=n), seltype='Equal', over=m)) set.seed(3216530) # Do not need to change. But if you keep it constant #it will allow you to redo the sample and get the same sites. sites <- grts(design=dsgn, DesignID='watershed', SiteBegin=1, # default so can leave out type.frame='finite', src.frame='shapefile', # default so can leave out in.shape=shp_name, att.frame=att, stratum='stratum', mdcaty='MDCATY', shapefile=TRUE, out.shape=out_shp, #Name your output shape file prjfilename=shp_name) #Copy same name as in.shape #Done! Go and open the new point shapefile in ArcGIS. cat(paste0("\n", "Done.", "\n")) } load_pkgs <- function(pkgs) { new_pkgs = pkgs[(pkgs %in% installed.packages()[ ,'Package'])] if (length(new_pkgs) > 0) install.packages(new_pkgs) invisible(lapply(pkgs, function(x) suppressMessages(library(x, character.only = TRUE))) ) }
... View more
08-07-2019
01:00 PM
|
1
|
2
|
1353
|
POST
|
Hello,
I was wondering if anyone could help me with some R- script I got from a client, and I want to integrate it to my Model Builder. I have installed R-ArcGIS bridge and all required packages, and tested the script as standalone tool with hard-coded parameters and it works fine. The problem I have is how to create variables for the input and output parameters.
If you get a chance, will you spend few hour to assist with the attached R script. I tried to use the in_params & out_params for inputs and outputs respectively, but no luck except the path to the folder.
Here is what I need:
Inputs:
Path to folder (which replace the hardcoded setwd(“path”) )
n : number of random sites
m : contingency random sites
dbf ( xyzx.dbf) to read the dbf file from the Shapefile, which means the Shapefile within the input folder
shape ( the Shapefile name)
prjfilename ( the projection name, which will be based on the input Shapefile)
Outputs:
shape( the output Shapefile name)
Thanks in advance,
Daniel
... View more
08-06-2019
03:28 PM
|
0
|
4
|
1592
|
POST
|
Thanks Jake. Yes I after I posted the question, I found another post by you about the token and it worked well. I only had some issue with the send email part. I used gmail and gmail has very strict condition, and this is how I updated. I also added some conditional statement to check if there is a new data, if not it will not send email. ( just to avoid sending blank emails every hour. )
... View more
06-05-2017
10:16 AM
|
0
|
0
|
934
|
POST
|
Hi Jake, I came across your post while searching for email alert for data change, and I found it interesting. I tried to use your code as is with my hosted Feature Service link, but still getting the error: KeyError: 'features'. Someone has reported the same error above. I have both the OBJECTID and create_date fields. Any idea why I'm getting the error. Thanks for your help in advance. Daniel
... View more
05-31-2017
10:22 AM
|
0
|
3
|
1007
|
POST
|
Hi Wayne, Thanks for the reply. I was planning to use it as part of a model I built. I had other geoprocessing tasks on the same input FC, so I just wanted to use the same input FC for the dissolve operation. Anyway, I did some work around to used my original input FC as temp Fc and used the dissolve output as my new inputFc for the other operation, and it seems working. I will try the suggested methods to see how they work. Thanks again !! Dan
... View more
12-20-2012
08:47 AM
|
0
|
0
|
957
|
POST
|
Hi Guys, I just wonder if there is a tool or script which can do a dissolve based on field values for the input Feature Class without creating a new Feature Class.I know Dissolve tool does the job but creates a new Feature Class. Any idea ? Thanks in advance. Dan
... View more
12-20-2012
05:59 AM
|
0
|
2
|
1396
|
POST
|
Perfect !!!!! This is exactly what I was looking for. Thanks Mathew.
... View more
12-06-2012
06:07 AM
|
0
|
0
|
506
|
POST
|
What if you use the del function. For Instance if you connection is like this
SDEConn = arcpy.CreateArcSDEConnectionFile_management (folderName, fileName, serverName, serviceName, databaseName, authType, username, password, saveUserInfo, versionName, saveVersionInfo)
del SDEConn
I didn't test it, just curious . Daniel A.
... View more
12-05-2012
08:06 AM
|
0
|
0
|
1575
|
POST
|
Hello, For some reason when I cannot get the following script to work: # Import primary modules import arcpy, sys, os, traceback from arcpy import env # Set Variables inTinA_features = arcpy.GetParameterAsText(0) out_TinA = arcpy.GetParameterAsText(1) spatial_ref = arcpy.GetParameterAsText(2) # Create TIN arcpy.CheckOutExtension("3D") arcpy.CreateTin_3d(out_TinA, spatial_ref, "inTinA_features Elev_Obs masspoints <None>", "DELAUNAY") arcpy.CheckInExtension("3D") The script was stripped down to the bare bones, but still is not functioning. I am using Python 2.7 with ArcGIS ArcInfo 10.1. The error I get is as follows: Traceback (most recent call last): File "C:\Users\George\Documents\ArcGIS\v2\ProGIS_Project\createTIN.py", line 11, in <module> arcpy.CreateTin_3d(out_TinA, spatial_ref, "inTinA_features Elev_Obs masspoints <None>", "DELAUNAY") File "c:\program files (x86)\arcgis\desktop10.1\arcpy\arcpy\ddd.py", line 1683, in CreateTin raise e ExecuteError: Failed to execute. Parameters are not valid. ERROR 000800: The value is not a member of <None>. Failed to execute (CreateTin). Failed to execute (createtin). Thanks in advance, Haskett I think the problem is in the input values : [ ...[in_feature_class, height_field, SF_type, tag_value],...] . Since the input feature class, height field, and other optional values should be inputted as one value within a quotation, try first to use the input feature class as hard coded like C:\testFeat.shp. Then if you have to use the input Feature class as variable, use a code somthing like this ( reference: ArcGIS 10.1 help section) arcpy.ddd.CreateTin(outTin, sr, "{0} Elev_Obs masspoints <None>", "Delaunay") {0} - mean the first input parameter.
... View more
12-05-2012
07:24 AM
|
0
|
0
|
940
|
POST
|
Hi Guys, I was wondering if it is possible to insert all possible values of a loop into map layout as a text element. The script I have prints only one value or line. Here is part of my code. Thanks for your help !! Daniel A. arcpy.AddMessage('Adding Text Elements...') arcpy.AddMessage('*************************') # search input feature rows=arcpy.SearchCursor(inputFc) # Retrieve the first record from the list row=rows.next() # set field value list FieldValList = [] # loop through the field ATS while row: feat=row.shape total=total+feat.area ATS = row.getValue("ATS") # make sure its unique if not ATS in FieldValList: FieldValList.append(ATS) # next field row=rows.next() # add text elemets to the map layout for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"): if elm.name == "ATSList": elm.elementPositionX = 6.5 elm.elementPositionY = 1.0 for ATS in FieldValList: elm.text = "Within Theoretical: " + "\n" + ATS
... View more
12-05-2012
06:47 AM
|
0
|
2
|
1275
|
POST
|
This is exactly what I was looking. Its works like charm. Thanks a lot Matt !!!
... View more
10-22-2012
08:53 AM
|
0
|
0
|
578
|
POST
|
I am using 9.3.1, and I want to delete all but those specified in the list. I know you can delete multiple fields by hard coding the field names. But, I just want to something like to delete all except the field names specified. I can you ArcGIS 10.0 too. Thanks, Dan
... View more
10-22-2012
07:57 AM
|
0
|
0
|
578
|
POST
|
Hi Guys: I am trying to use a pyhton script to delete multiple fields which are not in the list, but its not working. Any idea how to make is working. The code is as follows. Thanks. import arcgisscripting, sys gp = arcgisscripting.create() # set variables inputFc = sys.argv[1] fdList = ['FID', 'Shape', 'MER', 'RGE', 'TWP', 'SEC', 'QS', 'Hectares'] fields = gp.ListFields(inputFc) for field in fields: if field.name not in fdList: gp.deletefield_management(inputFc)
... View more
10-22-2012
07:39 AM
|
0
|
4
|
815
|
POST
|
Thanks alot it works !!! I just made a little change to get just the min and max, so i put the code in the main loop as follows. # Identify the geometry field
#
desc = gp.Describe(infc)
shapefieldname = desc.ShapeFieldName
# Create search cursor
#
rows = gp.SearchCursor(infc)
row = rows.Next()
# Enter while loop for each feature/row
list = []
while row:
# Create the geometry object
#
feat = row.GetValue(shapefieldname)
# Print the current multipoint's ID
#
partnum = 0
# Count the number of points in the current multipart feature
#
partcount = feat.PartCount
# Enter while loop for each part in the feature (if a singlepart feature
# this will occur only once)
#
while partnum < partcount:
# Print the part number
#
part = feat.GetPart(partnum)
pnt = part.Next()
pntcount = 0
# Enter while loop for each vertex
while pnt:
# Print x,y coordinates of current point
##print pnt.x, pnt.y, pnt.z
list.append(pnt.z)
pnt = part.Next()
pntcount += 1
# If pnt is null, either the part is finished or there is an
# interior ring
#
if not pnt:
pnt = part.Next()
if pnt:
print "Interior Ring:"
partnum += 1
row = rows.Next()
list.sort()
min = list[0]
max = list[-1]
print min, max
del row, rows
... View more
08-03-2012
01:19 PM
|
0
|
0
|
2866
|
Title | Kudos | Posted |
---|---|---|
1 | 08-07-2019 01:00 PM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|