CARTOの同期テーブルの新しい列に2つの列の値を追加しますか?
On 2月 16, 2021 by adminアプリプラットフォームからフィールドデータを取得しており、計画に役立つようにCartoDBの視覚化を推進したいと考えています。
多数レンジャーの多くは、ワニを数えるために調査サイトに出かけます。サイトごとに、アプリは以下を収集します。-男性のクロコダイルの数(num_croc_male)-女性のクロコダイルの数(num_croc_female)
実際には、暗闇の中で人々が合計を行うことを望まないため、アップロードします。この形式のデータはクラウドに直接送信され、CartoDBにPOSTされます。
CartoDBの視覚化では、上記の2つの列を表示し、次のようにします。クロコダイルの総数(num_croc_sitetotal)。
この整数は各サイトの表示のスタイル設定にも使用されるため、値を列に格納する必要があります。
データは後で更新されるため、パトロールごとに、これは新しい行が追加されても持続する安定した変換である必要があります。
チュートリアルが見つからないか、これがどのように行われるかを説明できないようです…そして私のSQLはほとんど存在しません。私は、CartoDBに、SQL構文の完全な爆発から私を保護する、ある種の式作成インターフェイスがあることを望んでいました。
ここで従う必要のあるソリューション手順の概要を誰かに教えてもらえますか?
回答
CartoDBのテーブルの背後にあるSQLステートメントで、その合計を行うことができます。テーブルのデータビューが表示されているときに、SQLサイドバーをクリックすると、次のように表示されます。
SELECT * FROM crocs_table
合計を含めるには、次のように変更します。次のステートメント:
SELECT *、(num_croc_male + num_croc_female)as total_crocs FROM crocs_table
[Apply query]ボタンをクリックすると、計算された列が表示されてテーブルが更新されます。アップ。マップビューを表示しているときは、説明した目的で計算フィールドを使用できます。
コメント
- 直接計算を実行することもできます。ダッシュボードインターフェイスの[データ]タブで、下部にあるSQLビューに変更するためのスイッチを見つけます。
回答
CartoDBに3つの異なる列がある場合は、SQLAPIを使用して更新できます。
したがって、CartoDBテーブル(これをcrocs_tableと呼びます)が必要な場合は、次のようになります。
num_croc_male num_croc_female total_crocs Row1: 5 10 15
次のようにSQLAPIを使用して更新できます:
http://{account}.cartodb.com/api/v2/sql?q={SQL statement}&api_key={Your API key}
アカウント= CartoDBアカウントの名前
APIキー= CartoDBアカウントのAPIキー
SQLステートメント=
INSERT INTO croc_table (num_croc_male, num_croc_female, total_crocs) VALUES (5, 10, 15);
男性のcrocsはここで良い確率を持っています…合計URLは次のようになります:
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}
上記のURLにアクセスすると、 CartoDBのデータ。
hoの鍵w合計(15)がSQLステートメントで取得されるのは、gatorラングラーがデータを入力する方法に基づいています。 「Webフォームを介して行う場合は、JavaScriptを使用して値を加算してURLを作成し、ユーザーをそのURLにリダイレクトできます。
コメント
- うーん、その場で列を作成するために面白そうです。多分私はあなたが提案することを実験する必要があります。一見、これが私の元の問題を解決するようには見えません。新しい列(total_crocs)を永続化し、 CartoDBの視覚化で表示できるようにして、スタイリング(バケットの数、シンボルの直径、カラーバンドなど)を駆動するために使用できるようにする方法です。
- CartoDBにデータを追加すると、CartoDBのビジュアライゼーションが自動的に更新されます。たとえば、ビジュアライゼーションのSQLが' SELECT * FROM croc_table 、データの別の行が更新されると、SQLクエリの結果に含まれるため、ビジュアライゼーションには新しいデータが含まれます。
- ありがとう:これを試して、理解していることを確認し、CartoDB 'のスタイリングツールが実際にこの方法で入力された列を利用できることを確認する必要があります。
回答
合計を使用しないでください。以下の構文に従ってくださいselect (num_croc_male+num_croc_female) as total_crocs from
…
コメント
- GIS SEへようこそ!投稿を読みやすくするには、
code tags
を使用してください。
コメントを残す