Dodanie wartości w dwóch kolumnach do nowej kolumny w tabeli synchronizacji w CARTO?
On 16 lutego, 2021 by adminMamy dane terenowe pochodzące z platformy aplikacji i chcemy uruchomić wizualizację CartoDB, aby pomóc w planowaniu.
Kilka strażników wychodzi na pomiary w celu policzenia krokodyli. W przypadku każdej witryny aplikacja gromadzi dane: – Liczba krokodyli płci męskiej (num_croc_male) – Liczba krokodyli płci żeńskiej (num_croc_female)
Nie chcemy, aby nasi ludzie stali w ciemności i robili sumy, więc przesyłają dane w tym formacie prosto do chmury, a następnie przesłane do naszej bazy danych CartoDB.
W wizualizacji CartoDB chcemy pokazać dwie kolumny powyżej, a także chcemy: Całkowita liczba krokodyli (num_croc_sitetotal).
Ponieważ ta liczba całkowita będzie również używana do określania stylu wyświetlania każdej witryny, chcę, aby wartość była przechowywana w kolumnie.
A ponieważ dane są odświeżane po każdego patrolu potrzebuję, aby to była stabilna transformacja, która utrzymuje się przez dodawanie nowych wierszy.
Wygląda na to, że nie mogę znaleźć samouczka ani przejść, jak to można zrobić … i mój SQL prawie nie istnieje. Miałem nadzieję, że CartoDB ma jakiś interfejs do tworzenia formuł, który ochroni mnie przed pełnym podmuchem składni SQL.
Czy ktoś mógłby podać zarys kroków rozwiązania, które powinienem tutaj wykonać?
Odpowiedź
Możesz to podsumować w instrukcji SQL za tabelą w CartoDB. Kiedy jesteś w widoku danych tabeli, kliknij pasek boczny SQL, a zobaczysz coś takiego:
SELECT * FROM crocs_table
Aby dołączyć swoje podsumowanie, zmodyfikuj to do:
SELECT *, (num_croc_male + num_croc_female) as total_crocs FROM crocs_table
Należy kliknąć przycisk „Zastosuj zapytanie”, a następnie tabela zostanie odświeżona z wyświetloną kolumną obliczeniową w górę. Gdy jesteś w widoku mapy, obliczone pole jest dostępne do celów, które opisujesz.
Komentarze
- możesz również wykonać obliczenia bezpośrednio w interfejsie Panelu, na karcie DANE znajdź u dołu przełącznik umożliwiający przejście do widoku SQL.
Odpowiedź
Jeśli masz 3 różne kolumny w swojej CartoDB, możesz zaktualizować je za pomocą interfejsu API SQL.
Więc jeśli chcesz, aby Twoja tabela CartoDB (nazwiemy ją crocs_table) wyglądała następująco:
num_croc_male num_croc_female total_crocs Row1: 5 10 15
Można go zaktualizować za pomocą interfejsu API SQL w następujący sposób:
http://{account}.cartodb.com/api/v2/sql?q={SQL statement}&api_key={Your API key}
Konto = nazwa twojego konta CartoDB
Twój klucz API = klucz API twojego konta CartoDB
Instrukcja SQL =
INSERT INTO croc_table (num_croc_male, num_croc_female, total_crocs) VALUES (5, 10, 15);
Męskie krokodyle mają tutaj dobre szanse … Całkowity adres URL wyglądałby mniej więcej tak:
http://{account}.cartodb.com/api/v2/sql?q=INSERT INTO croc_table (num_croc_male, num_croc_female, total_crocs) VALUES (5, 10, 15)&api_key={Your API key}
Odwiedzenie powyższego adresu URL spowodowałoby wstawienie dane w CartoDB.
Klucz do ho w suma (15) otrzymywana w instrukcji SQL jest oparta na tym, jak sprawisz, że twardzi gator wprowadzają dane. Jeśli zamierzasz to zrobić za pomocą formularza internetowego, możesz użyć javascript, aby dodać wartości razem w celu utworzenia adresu URL, a następnie przekierować użytkownika do tego adresu URL.
Komentarze
- Hmmm, wygląda to interesująco, aby utworzyć kolumnę w locie. Może muszę poeksperymentować z tym, co sugerujesz. Na pierwszy rzut oka nie wygląda to na rozwiązanie mojego pierwotnego problemu, jak sprawić, by ta nowa kolumna (total_crocs) była trwała i widoczna dla wizualizacji CartoDB , aby można ją było wykorzystać do sterowania stylami (np. liczba segmentów, średnica symbolu, pasmo kolorów itp.).
- Twoja wizualizacja w CartoDB powinna być automatycznie aktualizowana po dodaniu danych do CartoDB. Na przykład, jeśli twój kod SQL dla wizualizacji to ' SELECT * FROM croc_table ', po zaktualizowaniu kolejnego wiersza danych wizualizacja będzie zawierać nowe dane, ponieważ będą one uwzględnione w wynikach zapytania SQL.
- Dzięki: będę musiał spróbować, aby upewnić się, że to rozumiem i sprawdzić, czy narzędzia stylistyczne CartoDB ' mogą faktycznie korzystać z kolumny wypełnionej w ten sposób.
Odpowiedź
Nie używaj sumy. postępuj zgodnie z poniższą składnią select (num_croc_male+num_croc_female) as total_crocs from
…
Komentarze
- Witamy w GIS SE! Użyj
code tags
, aby Twoje posty były bardziej czytelne.
Dodaj komentarz