Hi,
yes, the quotes are indeed tricky... The challenge is to provide the
correct mix of escaped and un-escaped single and double quotes to Python
/ ArcGIS as in this Python example:
gp.select_analysis("nfroads.shp", "paved.shp",
' "ROAD_CLASS" = \'PAVED\' ')
In order to achieve this, the backslashes in \' have to be escaped
themselves, otherwise R will interpret them as escape symbols. After
all, \' ends up being coded as \\\' in R. Also, double double-quotes
have to be avoided; the quote.args argument of rpygeo.geoprocessor can
be used to suppress the outermost double quotes, single quotes can be
used explicitly instead: " ' sqlquery ' "
So here are two solutions:
env = rpygeo.build.env( workspace = "C:/TEMP",
overwriteoutput = TRUE )
rpygeo.geoprocessor("select_analysis",
list( "nfroads.shp", "paved.shp",
" ' \"ROAD_CLASS\" = \\\'PAVED\\\' ' "),
clean.up = FALSE, quote.args = c(T,T,F),
env = env)
# alternative:
rpygeo.geoprocessor("select_analysis('nfroads.shp','paved.shp','\"ROAD_CLASS\"=\\\'PAVED\\\'')",
env = env, clean.up = FALSE)
I hope this helps...
Cheers
Alex
Maarten van Strien wrote:
Andrew, thanks for your reply!
I tried exactly your command, but still the resulting rpygeo.py file
contains the following line:
gp.select_analysis( "nfroads.shp", "paved.shp", "\"ROAD_CLASS\" = 'PAVED' "
)
So the \"ROAD_CLASS\" = 'PAVED' is still surrounded by double quotes ("). I
have tried many different Python commands, but the only one working for me
is:
gp.select_analysis( "nfroads.shp", "paved.shp", ' "ROAD_CLASS" = \'PAVED\' '
)
Somehow I need to instruct RPyGeo to leave away the double quotes and
replace them by single quotes.
Kind regards, Maarten
Maarten
I'm not sure about the single quotes but possibly you could add an extra
special character break (the \ ) to indicate to python that the double
quotes surrounding your field name are not the end of a string. You could
try the following code:
rpygeo.geoprocessor("select_analysis", c("nfroads.shp", "paved.shp", '
\\"ROAD_CLASS\\" = \'PAVED\' '), py.file= "rpygeo.py", working.directory =
wrkspc, env = myenv, clean.up = FALSE)
Best Regards
Andrew
Dr Andrew Crowe
Lancaster Environment Centre
Lancaster University
Lancaster LA1 4YQ
UK
--
Alexander Brenning
brenn...@uwaterloo.ca - T +1-519-888-4567 ext 35783
Department of Geography and Environmental Management
University of Waterloo
200 University Ave. W - Waterloo, ON - Canada N2L 3G1
http://www.fes.uwaterloo.ca/geography/faculty/brenning/
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo