Dołączasz do tabeli Excela do pliku kształtu w ArcMap?

9

Mam plik kształtowy obszarów superprodukcji niższej warstwy (LSOA) dla Anglii i Walii i mam arkusz kalkulacyjny wskaźników deprywacji dla każdego z LSOA w Anglii. Chcę dołączyć dane o pozbawieniu do pliku kształtu, aby można go było zmapować w ArcMap. Próbowałem dołączyć do tabeli za pomocą opcji Join and Relates> Join i wstawiłem pola dla danych LSOA zarówno dla pliku kształtu, jak i arkusza kalkulacyjnego (dane, które pasują). tabela atrybutów dodała pola danych do tabeli atrybutów z arkusza kalkulacyjnego programu Excel, ale wszystkie dane są puste !!

Próbowałem spojrzeć na pole „typ”, ponieważ czytałem, że był to problem wcześniej, ale wydaje się być w porządku.

Czy ktoś może coś zasugerować?

dpc1989
źródło
Zobacz powiązany wątek na gis.stackexchange.com/questions/12242/...
whuber
1
Wyeksportuj go do innego formatu, takiego jak CSV, Access lub DBF. Excel jest straszny dla spójności danych - odpowiedź Whubera na to powiązane pytanie wyjaśnia, dlaczego.
blah238,

Odpowiedzi:

5

Czy typy są takie same (tj. Obie liczby całkowite / obie liczby podwójne) zarówno w Excelu, jak i ArcMap? Konieczne może być również przekształcenie pliku programu Excel w bazę danych lub plik CSV w celu dołączenia do nich (wystarczy użyć „zapisz jako” w programie Excel, aby zmienić typ pliku). W przeszłości miałem problemy z plikami Excel, czasem dzieje się tak również dlatego, że jest to plik .xlsx (nowy typ pliku dla nowego pakietu MS Office), a nie .xls (który powinien współpracować z Arc).

Emilia
źródło
Próbowałem zapisać go jako plik CSV, ale nie pozwala mi się przyłączyć, zaimportowałem tabelę do bazy danych, ale nie pojawi się jako jeden z plików, z którymi można się połączyć! coś jeszcze?
dpc1989,
Czy baza danych jest otwarta gdzie indziej, gdy próbujesz dołączyć do niej w Arc? Możesz także wybrać go z jego lokalizacji na komputerze, może po prostu nie wyświetla się poprawnie?
Emily,
bazy danych nie są wyświetlane w katalogu Arc? Zrobiłem to przez Access ... to tylko arkusze kalkulacyjne i takie tam
dpc1989,
Możesz także wykonać złączenie w ArcCatalogue, odzwierciedlając punkt Dave'a. Można użyć funkcji Dodaj dołączenie w przyborniku (w obszarze Zarządzanie danymi).
Emily,
usuń spacje i znaki specjalne z nazw pól
Brad Nesom
5

Z mojego doświadczenia wynika, że ​​musisz dodać ID obiektu do arkusza kalkulacyjnego Excel, nadając każdemu postowi unikalny numer (liczbę całkowitą) przed przystąpieniem do łączenia w ArcMap. Możesz dodać dodatkowe pole, a następnie zacząć pisać 1 w pierwszym rzędzie, 2 w następnym, a następnie oznaczyć dwie wartości i przeciągnąć znacznik w dół - wtedy Excel wypełni dla ciebie puste pola.

Steen Kjeldsen
źródło
4

Upewnij się, że nie ma spacji w nazwach plików, nazwach arkuszy lub nazwach pól.

djq
źródło
4

Sprawdź wszystkie pola numeryczne pod kątem ukrytego wypełnienia. Excel może być bardzo niegrzeczny, po cichu przyczepiając się do zer i ukrywając je przed tobą. Doświadczyłem tego kilkakrotnie, ostatnio w kolumnie kodów FIPS spisu ludności. (Czy ktoś wie dlaczego?)

Wejdź do pustej komórki i wyciągnij pierwszą cyfrę z wartości, która nie powinna zaczynać się od zera za pomocą LEWEJ ([komórka], 1). Następnie odwróć go i sprawdź wartość, która nie powinna kończyć się zerem za pomocą funkcji PRAWO ([komórka], 1). Możesz użyć funkcji przycinania Excela, jeśli znajdziesz pasażerów na gapę.

rec. thegeom
źródło
3

czy pola, które próbujesz połączyć, dokładnie do siebie pasują ?, jeśli wiersze nie są w tej samej kolejności w obu tabelach, zawsze otrzymasz puste miejsca.

jeśli utworzysz kopię pliku shapefile i otworzysz plik dbf kopii w programie excel, możesz wkleić dane do kopii i zastosować opcję „zapisz jako” i zastąpić dane nowym plikiem shapefile

ghostfacemapper
źródło
2
„jeśli wiersze nie są w tej samej kolejności w obu tabelach” - nie wierzę, że to prawda. Pozycja rzędu nie ma związku z łączeniem; przykładem może być połączenie jeden do wielu, które można wykonać za pomocą pliku kształtu i tabeli programu Excel.
djq,
wydaje mi się, że dzieje się tak za każdym razem, gdy próbuję połączyć dane przestrzenne z danymi nieprzestrzennymi, co kończy się pustymi polami danych. jeśli posortuję wiersze, aby dopasować, to łączy się idealnie. ale myślę, że masz rację celenius, że nie powinno to mieć żadnych pomysłów, dlaczego tak się dzieje?
ghostfacemapper
1
Czy na pewno masz pasujące typy danych? Na przykład „1” przechowywane jako ciąg i „1” przechowywane jako zmiennoprzecinkowe nie będą do siebie pasować, nawet jeśli nazwa pola jest taka sama. Myślę, że bezpiecznym sposobem na połączenie jest eksport danych do pliku csv, upewniając się, że w nazwach plików i nazwach pól nie ma spacji, upewniając się, że typy danych są zgodne. Byłbym ostrożny z bezpośrednią edycją pliku shapefile - myślę, że coś może pójść nie tak.
djq
Dzięki celenius następnym razem postaram się zrobić sprzężenie i użyje pliku csv i zobaczyć, co się dzieje
ghostfacemapper
1

@ghostfacemapper rekordy nie muszą być w tej samej kolejności. Zupełnie nieprawda.

Teraz, jeśli pojawia się błąd, który mówi:

BŁĄD 000339: Wpis [NAZWA PLIKU] nie zawiera identyfikatorów OID. Nie można wykonać (pole dołączenia).

Możesz rozwiązać problem, dodając pole objectID za pomocą arcGIS, aby utworzyć nową tabelę, która ma objectID. Możesz to zrobić, eksportując plik do formatu tabeli dBASE. Aby to zrobić, dodaj plik (tabelę) do mapy, będziesz mógł zobaczyć plik w spisie treści w zakładce Lista według źródła:

  1. kliknij stół prawym przyciskiem myszy
  2. kliknij Dane
  3. kliknij Eksportuj
  4. kliknij przycisk Przeglądaj
  5. zmień „Zapisz jako typ” na „Tabela dBase”
  6. nadaj mu nową nazwę i lokalizację
  7. kliknij zapisz
  8. użyj nowego pliku, który właśnie utworzyłeś dla złączenia
  9. znajdź kogoś do piątki!

JMers
źródło