Próbuję wprowadzić dane dotyczące dzielnicy do mojej aplikacji i mam problemy z danymi, których używam, które dostałem od here.Jak mogę przekształcić współrzędne pliku Shapefile?
Ten plik zawiera plik shapefile z okolicami San Francisco. Używam frameworka Ruby on Rails i obecnie używam GeoRuby do parsowania pliku shape.
Kod wygląda następująco:
def self.run_import
shpfile = '/path/to/realtor_neighborhoods/realtor_neighborhoods'
ShpFile.open(shpfile) do |shp|
shp.each do |shape|
# This gets the first (and only) Polygon from each MultiPolygon
polygon = shape.geometry.geometries.first
puts polygon.inspect
end
end
end
Kod jest w stanie przetworzyć plik, ale nie jestem w stanie zrozumieć, jak interpretować współrzędne. Wszystkie punkty mają wartości w milionach, kiedy spodziewam się współrzędnych od -180 do 180, dla prawidłowej szerokości i długości geograficznej. Spójrz na przykładowy punkt:
<GeoRuby::SimpleFeatures::Point:0x00000104566a08 @srid=4326, @with_z=false, \
@with_m=false, @x=6015402.9999795845, @y=2114960.4999904726, @z=0.0, @m=0.0>,
Jaki jest format tych współrzędnych wartości? Jak mogę przekonwertować je na wartości, które są dla mnie znaczące? (tj. szerokość/długość geograficzna oparta na SRID 4326 < => przestrzenny układ odniesienia WGS84)
Z góry dziękuję!
Więcej specyfi cally, musisz przekształcić przez Proj.4 http://virtuoso.rubyforge.org/rgeo/RGeo/CoordSys/Proj4.html –
Dziękuję bardzo, i próbowałem przetestować to przez cały dzień teraz . Nie mogę go jeszcze przetestować, ponieważ teraz mam na to ochotę: https://github.com/dazuma/rgeo/issues/6 Mam nadzieję, że będę mógł obejść to i zaakceptować twoją odpowiedź. – Larry