Patrick (and others),

Another issue that has reared it's ugly head is that when I read the data 
using the Data Frames package, I get the following:

data = readtable("ct_coord_2.csv",header=false)

8x2 DataFrame:

              x1      x2

[1,]    -73.3712  41.225

[2,]    -72.1065 41.4667

[3,]    -73.2453 41.7925

[4,]    -71.9876   41.83

[5,]    -72.3365  41.855

[6,]    -72.7328 41.8064

[7,]    -72.5231 41.4354

[8,]    -72.8999 41.3488


julia> xc = data[:,1]

8-element DataArray{Float64,1}:

 -73.3712

 -72.1065

 -73.2453

 -71.9876

 -72.3365

 -72.7328

 -72.5231

 -72.8999


julia> yc = data[:,2]

8-element DataArray{Float64,1}:

 41.225 

 41.4667

 41.7925

 41.83  

 41.855 

 41.8064

 41.4354

 41.3488


julia> xc=xc'

1x8 DataArray{Float64,2}:

 -73.3712  -72.1065  -73.2453  -71.9876  …  -72.7328  -72.5231  -72.8999


julia> yc=yc'

1x8 DataArray{Float64,2}:

 41.225  41.4667  41.7925  41.83  41.855  41.8064  41.4354  41.3488


julia> temp = [xc;yc]

2x8 DataArray{Float64,2}:

 -73.3712  -72.1065  -73.2453  -71.9876  …  -72.7328  -72.5231  -72.8999

  41.225    41.4667   41.7925   41.83        41.8064   41.4354   41.3488


julia> R = pairwise(Euclidean(),temp)

MethodError(At_mul_B!,(

8x8 Array{Float64,2}:

 2.7273e-316   2.7273e-316   2.67478e-315  …  2.7273e-316   2.7273e-316 

 2.67736e-315  2.67736e-315  2.67736e-315     2.72726e-316  2.72726e-316

 2.67727e-315  2.67727e-315  2.67727e-315     2.67727e-315  2.67727e-315

 2.67727e-315  2.67727e-315  2.67727e-315     2.67727e-315  2.67727e-315

 4.94066e-324  4.94066e-324  4.94066e-324     9.88131e-324  4.94066e-324

 2.76235e-318  2.76235e-318  2.76235e-318  …  2.76235e-318  2.76235e-318

 4.94066e-324  4.94066e-324  4.94066e-324     9.88131e-324  4.94066e-324

 4.94066e-324  4.94066e-324  4.94066e-324     9.88131e-324  4.94066e-324,


2x8 DataArray{Float64,2}:

 -73.3712  -72.1065  -73.2453  -71.9876  …  -72.7328  -72.5231  -72.8999

  41.225    41.4667   41.7925   41.83        41.8064   41.4354   41.3488,


2x8 DataArray{Float64,2}:

 -73.3712  -72.1065  -73.2453  -71.9876  …  -72.7328  -72.5231  -72.8999

  41.225    41.4667   41.7925   41.83        41.8064   41.4354   41.3488))


I do not think that the Distance package likes the types that is input into the 
function, i.e. the vectors are DataArrays instead of Arrays. It works just fine 
when I used Tony's idea:


 julia> data = readcsv("ct_coord_2.csv",Float64)

8x2 Array{Float64,2}:

 -73.3712  41.225 

 -72.1065  41.4667

 -73.2453  41.7925

 -71.9876  41.83  

 -72.3365  41.855 

 -72.7328  41.8064

 -72.5231  41.4354

 -72.8999  41.3488


julia> xc = data[:,1]

8-element Array{Float64,1}:

 -73.3712

 -72.1065

 -73.2453

 -71.9876

 -72.3365

 -72.7328

 -72.5231

 -72.8999


julia> yc = data[:,2]

8-element Array{Float64,1}:

 41.225 

 41.4667

 41.7925

 41.83  

 41.855 

 41.8064

 41.4354

 41.3488


julia> xc=xc'

1x8 Array{Float64,2}:

 -73.3712  -72.1065  -73.2453  -71.9876  …  -72.7328  -72.5231  -72.8999


julia> yc=yc'

1x8 Array{Float64,2}:

 41.225  41.4667  41.7925  41.83  41.855  41.8064  41.4354  41.3488


julia> temp = [xc;yc]

2x8 Array{Float64,2}:

 -73.3712  -72.1065  -73.2453  -71.9876  …  -72.7328  -72.5231  -72.8999

  41.225    41.4667   41.7925   41.83        41.8064   41.4354   41.3488


julia> R = pairwise(Euclidean(),temp)

8x8 Array{Float64,2}:

 0.0       1.28762   0.581327  1.51014   …  0.863479  0.873799  0.487347

 1.28762   0.0       1.18451   0.382214     0.712542  0.417808  0.802085

 0.581327  1.18451   0.0       1.25833      0.512668  0.805673  0.562309

 1.51014   0.382214  1.25833   0.0          0.745667  0.665227  1.03141 

 1.21144   0.451294  0.910982  0.349837     0.399323  0.459258  0.757372

 0.863479  0.712542  0.512668  0.745667  …  0.0       0.426208  0.487124

 0.873799  0.417808  0.805673  0.665227     0.426208  0.0       0.386557

 0.487347  0.802085  0.562309  1.03141      0.487124  0.386557  0.0     


There seems to be some issue with the Distance package not accepting Data 
Frames. Of course, the readcsv works fine but this might be an issue for others 
as well.


Thanks,

Don



On Thursday, July 3, 2014 6:49:18 PM UTC-4, Patrick O'Leary wrote:
>
> On Thursday, July 3, 2014 5:36:23 PM UTC-5, Donald Lacombe wrote:
>>
>> I'm no GIS expert (I'm an applied econometrician) and the code I've 
>> written seems to work. The Distance package also works with my "real" data 
>> which are the centroids of the counties in Connecticut and I tested it with 
>> Euclidean, Cityblock, and SqEuclidean.
>>
>
> Glad you got something working. Whether those distances are accurate 
> enough depends on how the points are arranged and what you plan to do with 
> it--I can see where it wouldn't make much difference in this case. I can't 
> let the statisticians and image processing folks have all the technical 
> conversation fun in this mailing list, though!
>

Reply via email to