¿Cómo calcular la distancia geográfica de un polígono?

Tengo un archivo de formas con más de 50 formas poligonales diferentes (que representan más de 50 regiones diferentes) y más de 10,000 puntos de datos que se supone que están presentes en una de las regiones. La cuestión es que los más de 10,000 puntos ya están codificados con una región en la que se supone que están, y quiero saber qué tan lejos están de esta región codificada en la distancia geoespacial.

Mi enfoque actual (código a continuación), que implica convertir archivos de forma aowin objetos de lasp biblioteca y usandodistfun me lleva distancias en lat, largo espacio euclidiano. Pero me gustaría obtener distancias geoespaciales (eventualmente para convertir a km). ¿Dónde debería ir después?

#basically cribbed from http://cran.r-project.org/web/packages/spatstat/vignettes/shapefiles.pdf (page 9)
shp <- readShapeSpatial("myShapeFile.shp", proj4string=CRS("+proj=longlat +datum=WGS84"))
regions <- lapply(slot(shp, "polygons"), function(x) SpatialPolygons(list(x)))
windows <- lapply(regions, as.owin)

# need to convert this to geo distance
distance_from_region <- function(regionData, regionName) {
    w <- windows[[regionName]]
    regionData$dists <- distfun(w)(regionData$lat, regionData$long)
    regionData
}   

Respuestas a la pregunta(2)

Su respuesta a la pregunta