Mam zbiór danych obiektu, który używa GCS_WGS_1984 jako układu współrzędnych geograficznych. Zawiera kilka klas obiektów.
Ten zbiór danych obiektów sam znajduje się w geobazie plikowej, która zawiera kilka dodatkowych klas obiektów w katalogu głównym gdb. Jedną z nich są klasy obiektów zwane „punktami”, które również używają GCS_WGS_1984 jako układu współrzędnych.
Pomyślałem, że byłoby trywialne użycie ArcCatalog do przeciągnięcia klasy elementów z katalogu głównego gdb do zbiór danych elementu, ponieważ mają ten sam układ współrzędnych. Niestety ArcGIS wyświetla okno dialogowe błędu, które mówi:
Failed to paste points The spatial references do not match
Dlaczego to się nie udaje? Jeśli GCS klasy obiektów i zestawu danych obiektu są takie same, czy to nie powinno po prostu działać? Sprawdziłem, czy tak jest w oknach dialogowych, a także eksportując plik prj zarówno dla zbioru danych, jak i dla klasy i używając diff, aby porównać te dwa. Są identyczne.
Czy odniesienie przestrzenne klasy obiektów różni się od układu współrzędnych / odwzorowania?
Próbuję skopiować klasę obiektów do zestawu danych obiektów, przytrzymując klawisz Ctrl podczas przeciągania wyników w ArcCatalog za każdym razem się zawiesza (szkoda ESRI).
Myślę, że mógłbym wypróbować alternatywne sposoby przenoszenia klas obiektów. Użyj CopyFeatures w zestawie danych. Projektować z klasy elementów do nowej klasy obiektów w ramach zbioru danych obiektów?
Komentarze
- Czy możesz gdzieś umieścić plik gdb? Może usunąć wszystkie lub niektóre funkcje, jeśli są duże, brzmi to tak, jakby można je było odtworzyć nawet z pustymi klasami funkcji.
- Chciałbym mieć czas na przeanalizowanie każdego małego dziwactwa, z którym się spotykam w ArcGIS, często Muszę tylko z tym żyć i znaleźć następne, najmniej przyjemne obejście. Użyłem zarządzania danymi – > Kopiuj funkcję, aby skopiować do nowej klasy obiektów (o nazwie tymczasowej), usunąłem starą klasę elementów, zmieniono nazwę nowej klasy na pasującą do starej. Korzystanie z ArcGIS nie powinno ' wymagać dyplomu z testowania oprogramowania. = (
- ” nie powinno ' nie wymagać dyplomu z testowania oprogramowania ” , chat.stackexchange.com/transcript/message/1116371
- to tylko nazwa , mogą pasować, ale jeśli mają inną nazwę, wyrzuca tę wiadomość, zignoruj ją.
Odpowiedź
ten sam układ współrzędnych nie zawsze jest identycznym układem współrzędnych. Spotkałem się z sytuacjami, w których niektóre operacje i narzędzia geoprzetwarzania będą sądzić, że klasy obiektów nie mają wspólnego układu współrzędnych, ponieważ opisowa nazwa odwzorowania różni się („Yukon Albers” vs „Albers – niestandardowy”), chociaż parametry są identyczne lub z powodu różnych miejsc dziesiętnych (fałszywa północ 500000.00 vs 500000.0000).
Zwykle robię jest zapewnienie, że układy współrzędnych zestawu danych elementu (i klasy F.) są tworzone z naszym standardowym plikiem .prj umieszczonym w górnej części C:\path\to\ArcGIS\Desktop10.0\Coordinate Systems
(udostępnia CS za pomocą mniejszej liczby kliknięć) i / lub kopiowanie CS z szablonu głównej klasy obiektów przechowywanego gdzieś pod ręką.
Częściowo w odpowiedzi na to problem, mam również pusty zestaw danych funkcji (D:\s.gdb\_template
), przez który kieruję wszystkie nasze dane jako filtr pierwszego kroku, zanim zrobię z nimi cokolwiek innego. W przypadku wspólnego układu współrzędnych zapewnia to również identyczność dokładności i domeny przestrzennej.
Aktualizacja: Zobacz odpowiedź Andyego na temat używania języka Python, tylko 2 wiersze, do kopiowania systemu odniesień przestrzennych zestawu danych funkcji z klasy elementów szablonu. Pracowałem dla mnie w ArcCatalog 10.3, gdy interaktywna metoda definiowania SR przez wybranie klasy elementów do zaimportowania nie działała.
Komentarze
- Nie ' t te drobne zmiany w ładnej nazwie wydruku lub wskazanych pozycjach dziesiętnych są obecne w pliku .prj, który ' jest eksportowany z opcją Zapisz jako ? Jeśli tak, dlaczego różniące się pliki prj nic nie pokazują? Zastanawiałem się, czy niewielkie różnice w rozdzielczości x, y również mogą powodować konflikt.
- Może to być plik .prj utworzony za pomocą ” Zapisz jako ” nie jest dokładnie tym samym, co ten przechowywany wewnętrznie. Używam zestawu danych funkcji ” filtru „, aby zapewnić wspólną rozdzielczość przestrzenną itp.
- I ' dodamy do tego jeden dodatkowy aspekt: Czasami zestawy danych z innych źródeł będą generowane jako zawierające wartości M i Z, jeśli w rzeczywistości nie mają M lub Z.' stwierdziłem, że niektóre narzędzia ESRI wykrywają pusty układ współrzędnych Z jako niepasujący, pomimo faktu, że układy współrzędnych X / Y faktycznie pasują dokładnie.
Odpowiedź
To jest raczej wyjaśnienie niż odpowiedź.
My (Esri) przeprowadzamy dość rygorystyczne testy nazw i wartości systemów odniesienia za pomocą współrzędnych. Test „jest równy” nie zwróci niepowodzenia podczas porównywania 500000,00 i 500000,000000, ale może się nie powieść, jeśli jeden to naprawdę 500000.0, a drugi 500000.00000005. „Pracujemy nad dodaniem aliasów dla nazw, aby„ jest równe ”przeszło więcej.
Jak wspomnieli mindless.panda i Matt Wilkie, różnice mogą dotyczyć innych wartości odniesienia przestrzennego. odniesienie obejmuje system odniesienia współrzędnych i wartości przechowywania / przetwarzania. Do przechowywania: xy, z oraz rozdzielczość i zakresy pomiaru. Do przetwarzania: xy, z i wartości tolerancji pomiaru. Każda różnica w tych wartościach może powodować nierówny błąd.
Komentarze
- Twoja odpowiedź jest bardzo cenna. Naprawdę chciałbym, aby obsługa błędów, szczególnie w tym, co jest zgłaszane użytkownikowi, poprawiła się w ArcGIS. Więcej potrzebne są błędy informacyjne, z możliwością uzyskania jeszcze bardziej szczegółowych informacji w razie potrzeby. Ponownie dziękuję ESRI za poświęcenie czasu na odpowiedź.
- Popieram propozycję dostarczenia więcej informacji o błędach. Ponad w ciągu ostatnich dwóch tygodni mam ten sam błąd (
Error code: 999999: Error executing function. Description: This is a generic error for which the cause of the error does not have an appropriate error ID.
) z powodu szeregu problemów. To jest nie mogę zrobić nic poza uruchomieniem tego, co zrobiłem po raz drugi, aby sprawdzić, czy błąd się powtarza, lub poddać się i użyć innej metody (lub oprogramowania, co jest coraz częstsze).
Odpowiedź
Oto, co zrobiłem, aby rozwiązać problem (używając arcpy w ArcGIS 10.0) –
Zakłada się, że:
- FGDB – C: \ gisdata \ Test.gdb
- Klasa funkcji – C: \ gisdata \ Test.gdb \ bldg
Możesz zmodyfikować ścieżki i nazwy obiektów w kodzie i wkleić je do okna Pythona w ArcCatalogu.
sr = arcpy.Describe(r"C:\gisdata\Test.gdb\bldg").spatialReference arcpy.CreateFeatureDataset_management(r"C:\gisdata\Test.gdb", "MyFeatureDataset", sr)
Po zestawie danych funkcji jest tworzony, możesz przeciągać i upuszczać klasy elementów.
Komentarze
- Dziękujemy! To zadziałało dla mnie dzisiaj w sytuacji, gdy użycie narzędzia interaktywnego do zdefiniowania nowego układu współrzędnych zestawu danych elementu przez wybranie istniejącej klasy obiektów nie zadziałało (wersja 10.3).
Odpowiedz
Ten problem mnie zabijał! Po zapisaniu kilku klas obiektów z pliku CAD kilkakrotnie próbowałem zdefiniować ich układy współrzędnych, a następnie uporządkować je w zestawy danych obiektów. Próbowałem zarówno zdefiniować wszystkie niezbędne f.classes i f.datasets z oficjalnej projekcji WGS_1984_UTM_42N z ESRI, jak również ustawić projekcję dla zestawu danych, a następnie zaimportować tę projekcję dla f.class za pomocą narzędzia Define Projection. Albo żadne f.classes nie wklei się, albo 1 i inne nie.
Wielkie dzięki dla @Matt Wilkie w tym poście narzędzie klasy elementów do klasy elementów wydaje się, że rozwiązało problem. Pomyślnie zaimportuje klasy f.class do żądanego zestawu danych, nawet jeśli nie zdefiniowałem jeszcze układu współrzędnych tej klasy.
Ponadto stwierdziłem, że Skrypt klasy obiektów do geobazy (wiele) świetnie sprawdza się przy przenoszeniu klas f.klas do zbioru danych f. zbiorczo, z wyjątkiem tego, że należy to zrobić z geobazy do innej ( nie do zbioru danych f. w tej samej geobazie). Wydaje się, że jest to spowodowane tym, że skrypt nie zmienia automatycznie nazw klas f.class podczas ich kopiowania (lub prosi operatora o nową nazwę, jak w przypadku klasy elementów na klasę elementów). Jednak, jak zauważyli inni (ten sam wątek, do którego prowadzi powyższy link), podany błąd to ogólny błąd 999999.
Odpowiedź
I miał ten problem, gdy po prostu chciałem przenieść klasę obiektów do zestawu danych obiektów w bazie danych Geo. Zrobiłem mój zestaw danych funkcji i upewniłem się, że ma ten sam układ współrzędnych. Wielokrotnie otrzymywałem komunikat „Nie udało się wkleić xyz Odniesienia przestrzenne nie pasują do siebie” Najszybszym rozwiązaniem, jakie znalazłem, było zaimportowanie identycznego odniesienia przestrzennego w nowo utworzonym zestawie danych z klasy obiektów, którą chciałem importować do niego. Na drugim etapie kreatora „Utwórz nowy zestaw danych funkcji”.
Nie wiem, dlaczego odniesienia przestrzenne się różnią.
Komentarze
- Cześć @Alan! Dziękujemy za podzielenie się swoimi doświadczeniami i witamy w naszej witrynie.
- Cześć Alan, kreator tworzenia nowego zbioru danych / klas funkcji nie jest ' t zawsze pobiera wszystkie wartości przechowywania / przetwarzania, gdy używany jest ” układ współrzędnych importu „.' pracujemy nad jego naprawieniem. myślę , że właśnie w to ' wpadasz.
- I ' m widząc ten problem – nawet jeśli utworzę zestaw danych elementów i użyję mechanizmu importu oraz wybiorę klasę elementów, nadal mogę ' t przeciągnąć / skopiować klasę elementów do nowo utworzonego zestawu danych elementów bez wspomnianego błędu.
Odpowiedź
Myślę, że jedną z wiadomości do ESRI jest podanie bardziej szczegółowych parametrów różnice informacje debugowania, gdy wystąpi ten błąd. Ja również napotkałem ten błąd nawet po dokładnym sprawdzeniu systemów odniesienia przestrzennego i rzutów, tak jak myślę, że robi to większość użytkowników GIS.
Znalazłem procedurę używania funkcji kopiowania ArcToolbox w celu naprawienia komunikatów o błędach, które pojawiają się, gdy stosowane są mechanizmy importu lub kopiowania. W tym przypadku polegamy na procedurze z zestawu narzędzi Kopiuj elementy, aby poprawnie rozwiązać różnice odniesienia lub odwzorowania przed wprowadzeniem klasy obiektów do zestawu danych obiektu.
Próbowałem nawet utworzyć zestaw danych funkcji z systemem rzutowania zdefiniowanym w czas utworzenia zestawu danych, a następnie rzutowanie klas obiektów na zbiór danych obiektów za pomocą narzędzia do projekcji ArcToolbox z tą samą projekcją i nadal otrzymywałem błąd opisany tutaj, gdy próbuję zaimportować lub skopiować klasę elementów do zestawu danych.
Te problemy z układem współrzędnych są maskowane podczas używania danych w aplikacji ArcMap. Ponieważ ArcMap wykonuje projekcję w locie, do mapy ArcMap można dodać wiele klas obiektów, z których każda ma różne odwzorowania, bez wiedzy użytkownika. ArcMap ostrzega o różnych systemach odniesienia za pomocą współrzędnych.