You are more likely to get help with specific problems related to spTransform() on the dedicated list r-sig-geo.
You should provide a minimal reproducible example. Your code refers to e.g. the object `tmp1b`, which we don't have. I think the spTransform() part will work with this correction: xy <- SpatialPointsDataFrame(sample[,2:3], sample[,1,drop=FALSE], proj4string=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84")) xy <- spTransform(xy, CRS("+init=epsg:27700 +datum=WGS84")) The spatial workflow in R has largely moved to the `sf` package and you are probably better off using that in the future if you are new in the game anyway. Hope this helps, Ege On Sun, 2020-05-17 at 09:50 +0000, Poling, William via R-help wrote: > #RStudio Version Version 1.2.1335 > sessionInfo() > # R version 4.0.0 Patched (2020-05-03 r78349) > #Platform: x86_64-w64-mingw32/x64 (64-bit) > #Running under: Windows 10 x64 (build 17763) > > Hello. I am running my data through a routine I found that finds > clusters of data points based on distance rule. > https://gis.stackexchange.com/questions/64392/finding-clusters-of-points-based-distance-rule-using-r > > 1. I get this error when I get to this point in the routine, see > complete routine below? > xy <- spTransform(xy, CRS("+init=epsg:27700 +datum=WGS84")) > non finite transformation detected: > > I tried converting columns from numeric to Integer but did not help. > > However, I continue to run the rest of the routine and the final > sequence, the plot itself, seems to work > Can this error be corrected somehow, despite the fact that it > continues to work, just curious what it is I guess" > > 2. However in the plot at the end of the routine the color key > appears with the colors but the clusters in the plot are black, see > plot call at the end of the routine below? > > Thank you for any advice. > > WHP > > ERROR: > non finite transformation detected: > coords.x1 coords.x2 > [1,] -119.7339 39.53939 Inf Inf > [2,] -119.7665 39.39630 Inf Inf > [3,] -119.7794 39.28768 Inf Inf > [4,] -121.0234 39.20503 Inf Inf > [5,] -122.0047 47.19262 Inf Inf > [6,] -122.0135 47.18883 Inf Inf > [7,] -122.0379 47.52190 Inf Inf > [8,] -122.0578 47.60975 Inf Inf > [9,] -122.1330 47.13669 Inf Inf > [10,] -122.1509 47.55962 Inf Inf > [11,] -122.1706 47.15546 Inf Inf > [12,] -122.1846 47.23485 Inf Inf > [13,] -122.1846 48.15307 Inf Inf > [14,] -122.1851 47.44870 Inf Inf > [15,] -122.1954 47.68485 Inf Inf > [16,] -122.1990 47.51610 Inf Inf > [17,] -122.2014 47.44772 Inf Inf > [18,] -122.2025 47.69815 Inf Inf > [19,] -122.2037 47.67190 Inf Inf > [20,] -122.2090 47.40378 Inf Inf > [21,] -122.2108 47.25336 Inf Inf > [22,] -122.2291 47.63880 Inf Inf > [23,] -122.2419 47.76870 Inf Inf > [24,] -122.2722 48.04803 Inf Inf > [25,] -122.2732 47.87700 Inf Inf > [26,] -122.2804 47.77620 Inf Inf > [27,] -122.2839 47.82103 Inf Inf > [28,] -122.2890 47.86899 Inf Inf > [29,] -122.2993 47.67306 Inf Inf > [30,] -122.3180 47.38217 Inf Inf > [31,] -122.3270 47.40378 Inf Inf > [32,] -122.3474 47.43884 Inf Inf > [33,] -122.3484 47.53083 Inf Inf > [34,] -122.3581 47.27678 Inf Inf > [35,] -122.3618 47.76735 Inf Inf > [36,] -122.3700 47.56567 Inf Inf > [37,] -122.3908 47.54938 Inf Inf > [38,] -122.4128 47.64622 Inf Inf > [39,] -122.4293 47.17660 Inf Inf > [40,] -122.4621 47.44505 Inf Inf > [41,] -122.4904 47.27460 Inf Inf > [42,] -122.5515 46.93979 Inf Inf > [43,] -122.7348 42.37320 Inf Inf > [44,] -122.7827 47.31059 Inf Inf > [45,] -122.7987 47.23475 Inf Inf > [46,] -122.8385 42.35119 Inf Inf > [47,] -122.8537 42.34495 Inf Inf > [48,] -122.8904 42.39555 Inf Inf > [49,] -122.8927 42.33022 Inf Inf > [50,] -122.9451 47.37574 Inf Inf > [51,] -122.9594 42.30376 Inf Inf > [52,] -123.0641 47.16428 Inf Inf > [53,] -123.3413 42.44117 Inf Inf > Error in spTransform(xSP, CRSobj, ...) : > failure in points > 1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26: > 27:28:29:30:31:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:48:49: > 50:51:52:53 > In addition: Warning message: > In spTransform(xSP, CRSobj, ...) : 53 projected point(s) not finite > > Here is the data: > dput(sample) > structure(list(ID = 1:53, Longitude = c(-119.733899, -119.766493, > -119.779416, -121.0234, -122.004736, -122.013456, -122.0379, > -122.0578, -122.132971, -122.150901, -122.170608, -122.18462, > -122.184639, -122.185079, -122.195398, -122.198994, -122.201356, > -122.202507, -122.20371, -122.209047, -122.210797, -122.229095, > -122.2419, -122.27216, -122.273164, -122.280355, -122.28389, > -122.289043, -122.299261, -122.318009, -122.326987, -122.347382, > -122.34844, -122.358115, -122.361839, -122.37003, -122.390815, > -122.41282, -122.429323, -122.462136, -122.490417, -122.551483, > -122.734847, -122.782736, -122.798669, -122.838498, -122.853683, > -122.8904, -122.89271, -122.94511, -122.959407, -123.064087, > -123.341346), Latitude = c(39.53939, 39.396298, 39.287681, > 39.205028, > 47.192616, 47.188833, 47.5219, 47.609748, 47.13669, 47.559616, > 47.155455, 47.234849, 48.15307, 47.448697, 47.684854, 47.516104, > 47.447723, 47.698146, 47.6719, 47.403778, 47.253364, 47.638795, > 47.768701, 48.048027, 47.876997, 47.776205, 47.821029, 47.868987, > 47.673056, 47.382165, 47.403785, 47.438836, 47.530831, 47.276776, > 47.76735, 47.565667, 47.549377, 47.646222, 47.176596, 47.445053, > 47.274599, 46.939789, 42.373195, 47.310595, 47.234748, 42.351189, > 42.344953, 42.395547, 42.33022, 47.375736, 42.303755, 47.164278, > 42.441172)), class = "data.frame", row.names = c(NA, -53L)) > > Here is the routine: > require(sp) > require(rgdal) > #25*1609.34 = 40233.5 > dis <- 40233.5 #Distance threshold 25miles converted to meters > > x <- tmp1b[,c(6)] > head(x) > y <- tmp1b[,c(5)] > head(y) > str(y) > > xy <- SpatialPointsDataFrame(matrix(c(x,y), ncol=2), > data.frame(ID=seq(1:length(x))), > proj4string=CRS("+proj=longlat > +ellps=WGS84 +datum=WGS84")) > > str(xy) > > xy <- spTransform(xy, CRS("+init=epsg:27700 +datum=WGS84"))#Error > occurring here? > > chc <- hclust(dist(data.frame(rownames=rownames(xy@data), > x=coordinates(xy)[,1], #What is xy@data???? see str(xy) > y=coordinates(xy)[,2])), > method="complete") > str(chc) > > view(xy@data)#Look like 3 clusters > > # Distance with a 25 Mile threshold > chc.dis <- cutree(chc, h=dis) > str(chc.dis) > view(chc.dis) > > # Join results to meuse sp points > xy@data <- data.frame(xy@data, Clust=chc.dis) > str(xy@data) > view(xy@data) > > # Plot results > plot(xy, col=factor(xy@data$Clust), pch=19) > box(col="black") > title(main="Clustering") > legend("topleft", legend=paste("Cluster", 1:3,sep=""),#Change from 4 > in demo to 3 in my data > col=palette()[1:3], pch=rep(19,3), bg="white") > > > > > Proprietary > > NOTICE TO RECIPIENT OF INFORMATION:\ This e-mail may > con...{{dropped:16}} > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. -- Ege Rubak, Associate Professor, Department of Mathematical Sciences, Aalborg University Skjernvej 4A, 9220 Aalborg East, Denmark Phone: (+45)99408861 Mobile: (+45)30230252 Email: ru...@math.aau.dk ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.