R Output and ArcGIS

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

R Output and ArcGIS

smurray444

Dear all,

I've been using R on a Mac to process some data for export to ArcMap GIS (which only runs on Windows). ArcMap seems to require tab-delimited data (my data are in 3 columns), so I've been using the sep="\t" argument. However, this resulted in strange end-of-line characters when displayed on a PC. I looked in the write.table help file to find that eol="\r\n" can be used to get around this problem, and it does indeed prevent these unwanted characters from appearing.

However, the data still aren't properly recognised by ArcMap when created on a Mac (the exact same code works fine from a PC). In ArcMap, when I select 'Display XY Data', the X (Longitude) and Y (Latitude) columns aren't available to select. It's as if Arc isn't correctly interpreting the output from R - this is despite me using col.names=TRUE in the write.table command.

Any light shed on this will be very gratefully received.

Many thanks for your help,

Steve

     
_________________________________________________________________
We want to hear all your funny, exciting and crazy Hotmail stories. Tell us now

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Reply | Threaded
Open this post in threaded view
|

Re: [R] R Output and ArcGIS

milton ruser
Hi Steve,

As I have no problem with this because I run windows, I prefere to use .txt
files.
But may be on your case you install xlsReadWrite (or WriteRead), because
.xls file works fine for ArcGis.

Remember not use complex (like having dots) or large names because some
times you get error on ArcGis.

Good luck,

milton

On Mon, Jan 25, 2010 at 12:54 PM, Steve Murray <[hidden email]>wrote:

>
> Dear all,
>
> I've been using R on a Mac to process some data for export to ArcMap GIS
> (which only runs on Windows). ArcMap seems to require tab-delimited data (my
> data are in 3 columns), so I've been using the sep="\t" argument. However,
> this resulted in strange end-of-line characters when displayed on a PC. I
> looked in the write.table help file to find that eol="\r\n" can be used to
> get around this problem, and it does indeed prevent these unwanted
> characters from appearing.
>
> However, the data still aren't properly recognised by ArcMap when created
> on a Mac (the exact same code works fine from a PC). In ArcMap, when I
> select 'Display XY Data', the X (Longitude) and Y (Latitude) columns aren't
> available to select. It's as if Arc isn't correctly interpreting the output
> from R - this is despite me using col.names=TRUE in the write.table command.
>
> Any light shed on this will be very gratefully received.
>
> Many thanks for your help,
>
> Steve
>
>
> _________________________________________________________________
> We want to hear all your funny, exciting and crazy Hotmail stories. Tell us
> now
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Reply | Threaded
Open this post in threaded view
|

Re: [R] R Output and ArcGIS

Michael Denslow-2
In reply to this post by smurray444
Hi Steve,

On Mon, Jan 25, 2010 at 12:54 PM, Steve Murray <[hidden email]> wrote:
>
> Dear all,
>
> I've been using R on a Mac to process some data for export to ArcMap GIS (which only runs on Windows). ArcMap seems to require tab-delimited data (my data are in 3 columns), so I've been using the sep="\t" argument. However, this resulted in strange end-of-line characters when displayed on a PC. I looked in the write.table help file to find that eol="\r\n" can be used to get around this problem, and it does indeed prevent these unwanted characters from appearing.

How did you look at the output? in Excel?

> However, the data still aren't properly recognised by ArcMap when created on a Mac (the exact same code works fine from a PC). In ArcMap, when I select 'Display XY Data', the X (Longitude) and Y (Latitude) columns aren't available to select. It's as if Arc isn't correctly interpreting the output from R - this is despite me using col.names=TRUE in the write.table command.

I usually use col.names=NA, when I am writing a file to be read by a
spreadsheet. This is also documented in ?write.table.

As Milton pointed out you should also make sure that you are careful
with your column names since R and ArcMap have different rules.

Posting the results of str(YourData) might shed some light as well.

Hope this helps,
Michael


>
> Any light shed on this will be very gratefully received.
>
> Many thanks for your help,
>
> Steve
>
>
> _________________________________________________________________
> We want to hear all your funny, exciting and crazy Hotmail stories. Tell us now
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



--
Michael Denslow

I.W. Carpenter Jr. Herbarium [BOON]
Department of Biology
Appalachian State University
Boone, North Carolina U.S.A.
-- AND --
Communications Manager
Southeast Regional Network of Expertise and Collections
sernec.org

36.214177, -81.681480 +/- 3103 meters

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Reply | Threaded
Open this post in threaded view
|

Re: [R] R Output and ArcGIS

Paul Hiemstra
In reply to this post by smurray444
Steve Murray wrote:

> Dear all,
>
> I've been using R on a Mac to process some data for export to ArcMap GIS (which only runs on Windows). ArcMap seems to require tab-delimited data (my data are in 3 columns), so I've been using the sep="\t" argument. However, this resulted in strange end-of-line characters when displayed on a PC. I looked in the write.table help file to find that eol="\r\n" can be used to get around this problem, and it does indeed prevent these unwanted characters from appearing.
>
> However, the data still aren't properly recognised by ArcMap when created on a Mac (the exact same code works fine from a PC). In ArcMap, when I select 'Display XY Data', the X (Longitude) and Y (Latitude) columns aren't available to select. It's as if Arc isn't correctly interpreting the output from R - this is despite me using col.names=TRUE in the write.table command.
>
> Any light shed on this will be very gratefully received.
>
> Many thanks for your help,
>
> Steve
>
>      
> _________________________________________________________________
> We want to hear all your funny, exciting and crazy Hotmail stories. Tell us now
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>  
Hi,

In addition to the other people. If you convert your data in R to one of
the spatial classes (see the sp-pacakge) you can use the rgdal-package
to dump these objects to e.g. a shapefile. This can be read by ArcGIS.

As a note, there is a special mailing list for geographic data and R,
r-sig-geo, which might be a better place to ask these kind of specific
questions.

good luck!

Paul

--
Drs. Paul Hiemstra
Department of Physical Geography
Faculty of Geosciences
University of Utrecht
Heidelberglaan 2
P.O. Box 80.115
3508 TC Utrecht
Phone:  +3130 274 3113 Mon-Tue
Phone:  +3130 253 5773 Wed-Fri
http://intamap.geo.uu.nl/~paul

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Reply | Threaded
Open this post in threaded view
|

Re: [R] R Output and ArcGIS

smurray444

Dear all,

Thanks for the replies so far.

Just to emphasise, I'm not using Excel in any way. I have many many files to output, so it'd take considerable time to export from R, reprocess in Excel, then load into Arc! On a PC I'm able to go directly from R to ArcMap (9.3) without having to go via Excel. I've simply been viewing the data in Notepad, which was fine for observing the removal of the end-of-line characters and general format of the data (3 columns).

My data are structured as follows:

> str(mrunoff)
'data.frame':    61538 obs. of  3 variables:
 $ Latitude : chr  "5.75" "6.25" "6.75" "7.25" ...
 $ Longitude: Factor w/ 720 levels "0.25","0.75",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ Runoff   : num  0.687 2.661 0 0 0 ...

I can't use col.names=NA, as I do have column names! These are also required by Arc as identifiers. Also, as you can see, there are no complications in the variable names which, as you rightly say, can cause problems in Arc.

If anyone has any further suggestions regarding how to overcome this problem of generating data from R on a Mac for input to ArcGIS on a PC, then I'd be very grateful to hear them.

Many thanks again,

Steve


     
_________________________________________________________________
Got a cool Hotmail story? Tell us now

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Reply | Threaded
Open this post in threaded view
|

Re: [R] R Output and ArcGIS

Rainer M Krug-6
On Tue, Jan 26, 2010 at 11:42 AM, Steve Murray <[hidden email]>wrote:

>
> Dear all,
>
> Thanks for the replies so far.
>
> Just to emphasise, I'm not using Excel in any way. I have many many files
> to output, so it'd take considerable time to export from R, reprocess in
> Excel, then load into Arc! On a PC I'm able to go directly from R to ArcMap
> (9.3) without having to go via Excel. I've simply been viewing the data in
> Notepad, which was fine for observing the removal of the end-of-line
> characters and general format of the data (3 columns).
>
> My data are structured as follows:
>
> > str(mrunoff)
> 'data.frame':    61538 obs. of  3 variables:
>  $ Latitude : chr  "5.75" "6.25" "6.75" "7.25" ...
>  $ Longitude: Factor w/ 720 levels "0.25","0.75",..: 1 1 1 1 1 1 1 1 1 1
> ...
>  $ Runoff   : num  0.687 2.661 0 0 0 ...
>

what about changing the class from Longitude and Latitude to numeric? This
could probably solve the problem?



>
> I can't use col.names=NA, as I do have column names! These are also
> required by Arc as identifiers. Also, as you can see, there are no
> complications in the variable names which, as you rightly say, can cause
> problems in Arc.
>
> If anyone has any further suggestions regarding how to overcome this
> problem of generating data from R on a Mac for input to ArcGIS on a PC, then
> I'd be very grateful to hear them.
>

In addition, as far as I know, Arc can read dbf and from R, you can export
to dbf, via the package "foreign" - might be worth a try.

Cheers,

Rainer


> Many thanks again,
>
> Steve
>
>
>
> _________________________________________________________________
> Got a cool Hotmail story? Tell us now
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



--
NEW GERMAN FAX NUMBER!!!

Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Natural Sciences Building
Office Suite 2039
Stellenbosch University
Main Campus, Merriman Avenue
Stellenbosch
South Africa

Cell:           +27 - (0)83 9479 042
Fax:            +27 - (0)86 516 2782
Fax:            +49 - (0)321 2125 2244
email:          [hidden email]

Skype:          RMkrug
Google:         [hidden email]

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Reply | Threaded
Open this post in threaded view
|

Re: [R] R Output and ArcGIS

Corey Sparks
Yes, R thinks the coordinates are characters, that needs to change.  Also, alternatively you could use the write .dbf function in the foreign() library, ArcGis likes dbf files (just no long names)
Corey
Corey Sparks, PhD
Associate Professor
Department of Demography
University of Texas at San Antonio
501 West César E. Chávez  Blvd
Monterey Building 2.270C
San Antonio, TX 78207
210-458-3166
corey.sparks 'at' utsa.edu
coreysparks.weebly.com
Reply | Threaded
Open this post in threaded view
|

Re: [R] R Output and ArcGIS

smurray444
In reply to this post by smurray444

Dear all,

Just to let you know that thanks to your help, I've managed to solve it.

For future reference, if anyone's interested (!), if you're having problems reading R-generated data from a Mac, into ArcMap on a PC, then ensure that you're using eol="\r\n" in the write.table command and that you don't have factor or character data when they're really meant to be numeric! To overcome the latter, I did:

mrunoff$Longitude <- as.numeric(levels(mrunoff$Longitude))[mrunoff$Longitude]

Hope this is of use to someone, somewhere, someday!

Thanks again for your advice,

Steve

     
_________________________________________________________________
Got a cool Hotmail story? Tell us now

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.