Moi użytkownicy przesyłają mi dane punktowe, które zostały zdigitalizowane za pomocą Google Earth.
Jak przekonwertować ich KML na plik kształtu?
Moi użytkownicy przesyłają mi dane punktowe, które zostały zdigitalizowane za pomocą Google Earth.
Jak przekonwertować ich KML na plik kształtu?
Odpowiedzi:
Korzystanie z open source ogr2ogr
z GDAL / OGR :
ogr2ogr -f 'ESRI Shapefile' output.shp input.kml
ArcGIS 10 ma narzędzie GP o nazwie KML To Layer, które konwertuje KML na klasę elementów. Wyszukaj KML za pomocą nowego wyszukiwania. Użyłem tego, aby pobrać wyciek ropy z kml kanałów z Google i przekonwertować je na SHP.
KML To Layer może jedynie utworzyć klasę obiektów geobazy, więc po konwersji klasy do pliku kształtu musi następować krok Klasa elementów do Klasa elementów.
Użyj ogr2ogr, ale jeśli nie interesuje Cię wiersz poleceń, spróbuj ogr2gui - naprawdę prosty interfejs dla ogr2ogr.
Aby korzystać z danych przestrzennych opublikowanych jako plik KML lub KMZ w ArcGIS, musisz najpierw przekonwertować KML na klasę obiektów (plik kształtów). University of Connecticut opublikował skrypt do tworzenia plików kształtów z KML o nazwie KML_to_Shp.tbx. Działa całkiem dobrze i można go używać z ArcToolbox. Ponieważ KML będzie (powinien) zawsze mieć współrzędne geograficzne (WGS84), w końcu będziesz chciał je przekształcić w UTM Zone 15N NAD83 ...
Podobnie jak w przypadku wszystkich nowych narzędzi, zapoznaj się z dokumentacją przed użyciem. Można to znaleźć na stronie internetowej UCONN Center for Land Use Education and Research. Po dodaniu go do zestawu narzędzi i zrozumieniu jego ograniczeń, narzędzie jest bardzo proste w użyciu.
Jeśli interesują Cię narzędzia wiersza poleceń, możesz użyć GDAL / OGR z OSGEO.
Kolejnym produktem komercyjnym, o którym warto wspomnieć, jest Global Mapper . Obejmuje to kategorię widoku, konwersji, ponownego wyświetlania prawie wszystkich danych geograficznych, jakie możesz sobie wyobrazić. Bardzo często używam darmowej wersji w klasie, którą uczę i prawie wszyscy odchodzą, komentując, jak to jest szwajcarski scyzoryk narzędzi GIS (chociaż darmowa wersja nie wykonuje tłumaczeń, udostępnia wszystkie menu i opcje). Cóż, warte mojego kosztu.
Kilka innych opcji oprócz innych odpowiedzi ...
Aplikacja fdo2fdo firmy SL-King , która korzysta z bibliotek FDO typu open source, umożliwia wykonywanie tłumaczeń KML na SHP i odwrotnie. Zawiera zarówno GUI (które wyrażają tłumaczenia format-to-format, jak i bardziej dostosowane tłumaczenia mapowania schematu), a także narzędzie wiersza poleceń.
W przypadku odpowiednich aplikacji FME Safe Software zapewnia niesamowitą kontrolę nad sposobem mapowania informacji o źródle do miejsca docelowego. Jeśli masz ArcGIS, możesz uzyskać do niego dostęp za pośrednictwem rozszerzenia Interoperacyjności danych ( lista formatów ) za dodatkową opłatą.
Jeśli są to tylko cechy punktowe bez atrybutów, rozważę parsowanie XML na coś, co można łatwo zaimportować, np. CSV; po prostu szukasz danych między znacznikami współrzędnych.
Inną opcją jest użycie XToolsPro, rozszerzenia innej firmy, które działa w ArcGIS. Wśród wielu przydatnych narzędzi do konwersji jest funkcja „Importuj dane z KML”.
FME opublikowało wersję beta narzędzia online, które obsługuje wiele różnych rodzajów konwersji, w tym również tę. http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html Ten konwerter powinien naprawdę ci pomóc.
Istnieje również kilka innych produktów komercyjnych. Przychodzi mi na myśl Arc2Earth. Ma całkiem dobrą integrację z ArcGIS Desktop. http://www.arc2earth.com
Możesz także spojrzeć na FME z Safe Software http://www.safe.com
Dostępna jest 14-dniowa wersja próbna. FME pozwala nawet mapować atrybuty z pliku KML do formatu ESRI SHP podczas konwersji / migracji danych, oprócz możliwości filtrowania plików punktów KML w oparciu o określone atrybuty lub zakresy przestrzenne.
Istnieje również opcja wykonania konwersji wsadowej, gdy masz duży zestaw plików KML od użytkowników.
~ SRG
używaj OGR do sterowania wierszem poleceń, Google Earth Pro daje graficzny sposób konwersji, podobnie jak wiele innych aplikacji
ET GeoWizards ma również opcję importu z Google Earth, która konwertuje pliki KML lub KMZ na klasę obiektów. > http://www.ian-ko.com/ET_GeoWizards/gw_MainFeatures.htm
Jeśli szukasz opcji typu open source, widzę, że MapWindow został właśnie zaktualizowany, i jest kilka wtyczek do konwersji do i z KML i pliku shapefile .
MapWindow GIS Open Source ma darmowe rozszerzenie ( KML2Shapefile ) do konwersji plików KML / KMZ na pliki kształtów.
Jeśli masz rozszerzenie interop, po prostu załaduj ten plik KML bezpośrednio do ArcMap i wyeksportuj do shp.
Chociaż odpowiedź odwrotna do twojego Q, na wypadek, gdyby ktoś przyszedł tu zrobić odwrotnie, uważam ten skrypt za idealny do przejścia z SHP -> KML http://arcscripts.esri.com/details.asp?dbid=14273
Jeśli chcesz przekonwertować swoje pliki online, wypróbuj formaty MyGeodata GIS i konwerter układu współrzędnych . Opiera się na ogr2ogr (biblioteka gdal / ogr) - więc obsługiwane są prawie wszystkie znane formaty GIS i układy współrzędnych ...
Konwerter online KML na Shapefile firmy Zonum Solutions również działa dobrze:
Oto kilka opcji, których nie widziałem w żadnej z odpowiedzi, aby dodać dodatkowe zasoby do konwersji KML na SHP:
Internetowy konwerter formatu Keyhole Markup Language na format ESRI Shapefile (KML do SHP) jest szybkim i łatwym w użyciu narzędziem do konwersji indywidualnych i wsadowych. Konwerter obsługuje również ponad 90 innych formatów wektorowych i rastrowych GIS / CAD oraz ponad 3 000 układów odniesienia za pomocą współrzędnych.
Bezpłatne narzędzia geograficzne obejmują i udostępnia samouczek narzędzia Zonums Software
Dobrą i łatwą pomocą, która może dać bardziej czyste wyniki, jest najpierw konwersja KML do GPX (istnieje kilka programów typu open source, które to potrafią) i otwarcie odpowiednich danych (GPX ma 5 różnych klas informacji: Punkty, Punkty trasy, Punkty trasy, trasy i trasy) za pomocą ogr2ogr z GDAL / OGR w QGIS i zapisz go bezpośrednio w formacie pliku .SHP.
Bardzo łatwo jest również użyć procesu wsadowego dla dużej ilości danych (na przykład używając Scal warstwy wektorowe z SAGA), aby w razie potrzeby utworzyć plik z jednym kształtem, a także wyczyścić puste atrybuty przed końcowym „Zapisz jako SHP”.
Zwróć szczególną uwagę na system kodyfikacji, jeśli na końcowym wyniku pojawią się dziwne znaki ... możesz wybrać odpowiedni w momencie dodawania nowych danych wektorowych do mapy.
Jestem spóźniony na przyjęcie, ale oto kilka dodatkowych sposobów:
Google Fusion Tables , może konwertować informacje o punktach KML na WGS84 X i Y w formacie .csv, które można następnie wykorzystać w preferowanym oprogramowaniu do analizy GIS.
Korzystanie z pakietu rgdal w R .:
install.packages("rgdal")
library(rgdal) #load package
kmlfile=readOGR("yourkmlfilehere.kml") #load KML
writeOGR(kmlfile,"yourshapepath",layer="shapename", driver="ESRI Shapefile") #save shape
Kolejna wskazówka: jeśli chcesz przekonwertować wiele plików KML jednocześnie w folderze / katalogu na plik kształtu za pomocą wiersza polecenia, otwórz cmd w folderze i wpisz:
dla / R% f w (* .kml) do ogr2ogr -f "ESRI Shapefile" "% ~ dpnf.shp" "% f"
Uwaga: użyje nazwy KML jako nazwy pliku shapefile, więc upewnij się, że twoje KML mają odpowiednie formaty nazewnictwa dla plików shapefile. Plik shapefile zostanie utworzony w tym samym katalogu, co odpowiedni kml. Pliki KML w podkatalogach również zostaną przekonwertowane na pliki kształtów.
Do konwersji pliku KML do formatu Shp można użyć narzędzia ogr2ogr. Najpierw musisz zainstalować go w systemie, jeśli już go zainstalowałeś, wpisz typ ogr2ogr w terminalu.
Teraz do konwersji dane polecenie musi zostać wykonane tj
--- ogr2ogr -f 'ESRI Shapefile' Output_sahpefile.shp Input_KML.kml
W ten sposób ogr2ogr może dokonywać konwersji, a jeśli nie otrzymujesz wyników, możesz przekonwertować Kml na shp metodą kodowania.
można to również zrobić za pomocą PHP. Możesz utworzyć funkcję, która zdefiniowała to polecenie jako ciąg i możesz podać ten ciąg w metodzie shell_exec () do wykonania. Shell_exec () faktycznie wykonuje polecenie i zwraca dane wyjściowe jako ciąg znaków.
public function KML_to_shp($KMLfilepath,$output){
$query="ogr2ogr -f 'ESRI Shapefile' $output.gml $KMLfilepath";
shell_exec($query);
}
tutaj jest post do konwersji kml na shp za pomocą narzędzia wier2 polecenia ogr2ogr lub kodu php. Chociaż jeśli używasz narzędzia QGIS, możesz przejrzeć jeden z moich postów na blogu tutaj kml, aby przekonwertować shp za pomocą QGIS lub kontynuować korzystanie z tego postu.
W ArcGIS wystarczy wyszukać „kml TO LAYER” lub „Layer to KML”. to narzędzie pomoże Ci przekonwertować na plik shapefile i KML