Korzystam z ArcMap 10.2.2 z licencją Advanced. Użyłem ArcMap do innych podstawowych analiz, ale jestem dość nowy w programie i mam tylko podstawowe umiejętności kodowania, bez doświadczenia SQL poza bardzo podstawowymi zapytaniami przy użyciu konstruktorów kodu SQL w ArcMap.
Mam wielokąty zasięgu geograficznego gatunku i mam tabelę z listą patogenów / chorób przenoszonych przez te gatunki. Niektóre gatunki niosą wiele patogenów. W idealnym świecie dołączyłbym wielokąty zakresów do tabeli gatunków + patogenów i zachowałem dane wielokąta / przestrzenne, ale nie wydaje się, aby istniało do tego narzędzie GIS (zamierzam później liczą nakładające się patogeny, dlatego ważne jest, aby każda kombinacja gatunków i patogenów miała swoją własną cechę, a nie jedną cechę, która zawiera informacje o wielu patogenach). Oto jak wyglądają moje dane (nr 1 i nr 2, nr 3 na później):
Tabela atrybutów dla funkcji przestrzennych:
Tabela bez danych przestrzennych:
(Należy pamiętać, że nie są to rzeczywiste dane, a kombinacje patogen-gatunek mogą nie być rzeczywiste. W rzeczywistości mam 115 wielokątów i 519 wierszy tabeli. Gatunki przenoszą od 1 do 40 patogenów, a zatem gatunki mają od 1 do 40 wierszy w mój stół)
Jako dodatkowy bonus, ze względu na przyszłe analizy, które muszę wykonać, idealnie chciałbym móc wykonać to połączenie jeden do wielu, tak że mógłbym zachować dodatkową kolumnę danych z tabeli (patrz poniżej przykład jak to może wyglądać). Jest to jednak mniej ważne, ponieważ jeśli mogę wymyślić, jak wykonać łączenie, mogę po prostu powtórzyć analizę.
Znalazłem kilka rozwiązań tego problemu, ale nie działały one dla mnie z powodów wymienionych poniżej:
Rozwiązanie 1: Blog Davida Aalbersa - jestem zbyt początkującym, aby wymyślić sposób edycji nowszego skryptu i zaimportować go do ArcMap. Wypróbowałem starszy skrypt, który wygenerował masę pustych wielokątów o nazwie test, test_1, test_1_1, test_1_1_1 itd.
Rozwiązanie 2: Dołączanie jeden do wielu - Próbowałem użyć narzędzia Utwórz tabelę zapytań (i nie mam wiedzy SQL, chociaż korzystałem z konstruktora wyrażeń) i otrzymałem ERROR 000383: Problem z tabelą, nie mogę znaleźć obszaru roboczego i Nie można wykonać (MakeQueryTable). Wszystkie moje pliki znajdują się w tym samym folderze, ale nie znajdują się w geobazie.
Odpowiedzi:
Aby pomnożyć funkcje, zrób to (dostępne dla osób posiadających ArcGIS 10.1 lub nowszy).
Funkcje zostaną pomnożone w nowej klasie obiektów, w której każda funkcja będzie obecna (nawet jeśli nie miała dopasowania w tabeli) i gdzie wcześniej było dopasowanie 1: M, funkcje zostaną pomnożone, aby uzyskać 1: 1 dopasowanie każdej funkcji do wszystkich pozycji w tabeli. Pole Unikatowy identyfikator utworzone w kroku 2 pozwoli ci powiązać pomnożone wielokąty z oryginalnym pojedynczym zestawem wielokątów. Dzięki nowej klasie obiektów zwielokrotnionych możesz dokonywać selekcji na polach tabeli, podsumowaniach, sprzężeniach przestrzennych itp.
Jeśli chcesz wygenerować unikalną wartość identyfikatora, która reprezentuje każdą unikalną kombinację gatunków i chorób, możesz użyć wersji 10.2 narzędzia opisanego w tym poście na blogu . Posiadanie tego typu klucza pozwala używać go do wykonywania standardowych sprzężeń z tabelami podsumowań i statystykami opartymi na relacji z wieloma polami, jako substytut tworzenia rzeczywistej relacji z wieloma polami przy użyciu zestawu Utwórz tabelę zapytań.
Oto dobre referencje od esri: https://support.esri.com/en/technical-article/000001228
źródło
not
Zapytanie SQL:
źródło