Measuring distance with unprojected spatial data

unprojected_dis <- sa_acs %>% 
  filter(GEOID %in% c(48029110100, 48029181820)) %>% 
  st_centroid() 
  
st_distance(unprojected_dis)
## Units: [m]
##       [,1]  [,2]
## [1,]     0 20787
## [2,] 20787     0

Measuring distance with projected spatial data

projected_dis <- sa_acs %>% 
  filter(GEOID %in% c(48029110100, 48029181820)) %>% 
  st_transform(crs = 2278) %>% 
  st_centroid() 
  
st_distance(projected_dis)
## Units: [US_survey_foot]
##          [,1]     [,2]
## [1,]     0.00 68090.87
## [2,] 68090.87     0.00

Notes

When the distance between the two tracts was calculated using unprojected data, the distance was 20.8km (33.5miles). However, after projecting the data using the accurate coordinate reference system (2278 - NAD83 / Texas South Central (ftUS)), the distance between the two tracts was 68090.87ft (12.9miles). The projected data gave a more accurate distance between the two tracts, while the unprojected data gave a measurement that was almost three times more than the actual distance between the tracts.

Although we are able to measure the distance between the two tracts using unprojected data, the measurement is inaccurate and it will be challenging to make any meaningful use of it

It is important to always project data with an appropriate coordinate reference system(CSR) because distances, areas, and portrayal of data can vary tremendously when data are projected into a different CSR other than their actual position on earth.