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!
>