Skip to content

Instantly share code, notes, and snippets.

@Botiplz

Botiplz/KWGT_Variablen

Last active Mar 7, 2021
Embed
What would you like to do?
Corona Inzidenz-Widget für Android
KWGT Variablen:
Lon:
$li(lon)$
Lat:
$li(lat)$
url:
https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/RKI_Landkreisdaten/FeatureServer/0/query?where=1%3D1&outFields=GEN,cases7_per_100k&geometry=$mu(round,gv(lon),3)$%2C$mu(round,gv(lat),3)$&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelWithin&returnGeometry=false&outSR=4326&f=json
InzGEN:
$wg(gv(url), json, .features[0].attributes.GEN)$
InzCases:
$wg(gv(url), json, .features[0].attributes.cases7_per_100k)$
InzNum:
$mu(round,gv(inzCases),1)$
InzFarbe:
$if(gv(inznum)>50, #FFFF0000, gv(inznum)>35, #FF00F70F, #FFFCAD00)$
@Botiplz

This comment has been minimized.

Copy link
Owner Author

@Botiplz Botiplz commented Oct 21, 2020

Anlegen des Corona Widgets für Android mit KWGT

(1) Installieren der App
https://play.google.com/store/apps/details?id=org.kustom.widget

(2) Hinzufügen eins Widgets auf eurem Homescreen

(3) Die oben genannten Variablen können nach Anlegen eines KWGT-Widgets im Bereich "Globale" definiert werden
image

  • Lon: Die aktuelle Longitude (kann auch festgesetzt werden)
  • Lat: Die aktuelle aktuelle Latitude (kann auch festgesetzt werden)
  • url: Die RKI URL für den Aufruf
  • InzGEN; Die Stadt
  • InzCases: Die ungerundete 7-Tage Inzidenz
  • InzNum: Auf eine Stelle gerundete Inzidenz
  • InzFarbe: Rot ab mehr als 50, Gelb ab mehr als 35, sonst grün

(4) Verwenden der Variablen
Nun können nach Belieben Elemente dem Widget hinzufügt werden und die Variablen verwendet werden.

Beispiel für den Text einer Textvariable -> InzNum ist die auf eine Stelle gerundete 7-Tage Inzidenz:
globale

Um Farben Formeln geben zu können, müssen die Formeln oben rechts aktiviert werden
image
Die Variable InzFarbe kann auf Farben gesetzt werden, um die Farbe je nach Inzidenz wechseln zu lassen.

@willi84

This comment has been minimized.

Copy link

@willi84 willi84 commented Oct 23, 2020

wie verknüpfe ich jetzt die Variablen mit dem Widget. finde keine Möglichkeit. wie sieht das bei Dir aus?

@Botiplz

This comment has been minimized.

Copy link
Owner Author

@Botiplz Botiplz commented Oct 23, 2020

Hier einfach mal ein Gif :)

Textvariable

@willi84

This comment has been minimized.

Copy link

@willi84 willi84 commented Oct 23, 2020

danke. jetzt hats funktioniert.

@herrxyz

This comment has been minimized.

Copy link

@herrxyz herrxyz commented Oct 23, 2020

danke für die Anleitung :-)
habe um die InzCases noch ein "cut text" gemacht, damit die Zahl nicht so viele Nachkommastellen hat - kann gerne übernommen werden
$tc(cut, wg(gv(url), json, .features[0].attributes.cases7_per_100k),5)$

@Botiplz

This comment has been minimized.

Copy link
Owner Author

@Botiplz Botiplz commented Oct 23, 2020

danke für die Anleitung :-)
habe um die InzCases noch ein "cut text" gemacht, damit die Zahl nicht so viele Nachkommastellen hat - kann gerne übernommen werden
$tc(cut, wg(gv(url), json, .features[0].attributes.cases7_per_100k),5)$

Die Lösung scheitert aber ab 100 Fällen.

Dafür ist die Variable InzNum: $mu(round,gv(inzCases),1)$ da, welche auf eine Nachkommastelle rundet :) Die 1 ist die Anzahl der Stellen.

@xhumer

This comment has been minimized.

Copy link

@xhumer xhumer commented Oct 23, 2020

Danke für die tolle Anleitung :-). Ich habe versucht das Widget um eine Anzeige der neuen Fälle in ganz Deutschland zu erweitern. Die passende URL ist diese hier:

https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/RKI_COVID19/FeatureServer/0/query?f=json&where=NeuerFall%20IN(1%2C%20-1)&returnGeometry=false&spatialRel=esriSpatialRelIntersects&outFields=*&outStatistics=%5B%7B%22statisticType%22%3A%22sum%22%2C%22onStatisticField%22%3A%22AnzahlFall%22%2C%22outStatisticFieldName%22%3A%22value%22%7D%5D&resultType=standard&cacheHint=true%27

Die Ausgabe im Webbrowser funktioniert auch, ich scheitere nur im KWGT die Zahl auszulesen.
Hast du da eine Idee?

@Botiplz

This comment has been minimized.

Copy link
Owner Author

@Botiplz Botiplz commented Oct 23, 2020

Wenn die URL wieder so in einer url Variable ist, müsste die var zum auslesen so sein (geschätzt):

$wg(gv(url), json, .features[0].attributes.value)$

Manchmal ist das etwas try & error in KWGT :/

@xhumer

This comment has been minimized.

Copy link

@xhumer xhumer commented Oct 23, 2020

Hey! Vielen Dank. Ich hatte es genau so probiert, aber irgendwie muss es sich zwischendurch verhakelt haben :/
Jetzt funktioniert es!
:-)

@DirkMs

This comment has been minimized.

Copy link

@DirkMs DirkMs commented Oct 24, 2020

vielen Dank für deine Erkärungen und die Variablen.. es ist ein kleiner Fehler bei der Farbe drin..
grün und orange sind vertauscht... zumindest auf meinem Mi9, musste die beiden Fraben in der Variable drehen #FFFCAD00), #FF00F70F$ damit die Farbe zu den Zahlen passt

@Michaela111

This comment has been minimized.

Copy link

@Michaela111 Michaela111 commented Oct 26, 2020

Vielen Dank für diene Erklärung und Bereitstellung.
Ich habe ein Problem beir der InzNum:
$mu(round,gv(inzCases),1)$

err: no results for path: $['features'][0]['attributes']['casees7_pers_100l']
mu: invalid numeric argument

Kann jemand helfen? Danke ! :)

@LilPu77

This comment has been minimized.

Copy link

@LilPu77 LilPu77 commented Oct 26, 2020

Gibt es ein Preset? Wäre doch so viel einfacher

@bschwimmbeck

This comment has been minimized.

Copy link

@bschwimmbeck bschwimmbeck commented Oct 26, 2020

@Botiplz

This comment has been minimized.

Copy link
Owner Author

@Botiplz Botiplz commented Oct 26, 2020

Ich hatte überlegt ein Preset hochzuladen, wollte aber auch Free-Usern die Möglichkeit geben, das nutzen zu können.

@dahuki

This comment has been minimized.

Copy link

@dahuki dahuki commented Oct 26, 2020

Ich habe vorhin schon viel gegoogelt, weiß aber nicht so richtig wonach ich suchen muss, deshalb stelle ich hier jetzt einfach mal direkt die Frage:
Hat wer eine Link, der ein bisschen beschreibt, wie man eine Query an diesen ArcGIS Feature Server so stellt, dass man eine URL rausbekommt, mit der man weiterarbeiten kann? Das wäre super klasse!

@DirkMs

This comment has been minimized.

Copy link

@DirkMs DirkMs commented Oct 26, 2020

Ich habe vorhin schon viel gegoogelt, weiß aber nicht so richtig wonach ich suchen muss, deshalb stelle ich hier jetzt einfach mal direkt die Frage:
Hat wer eine Link, der ein bisschen beschreibt, wie man eine Query an diesen ArcGIS Feature Server so stellt, dass man eine URL rausbekommt, mit der man weiterarbeiten kann? Das wäre super klasse!

hilft dir das evtl ?

https://npgeo-corona-npgeo-de.hub.arcgis.com/datasets/dd4580c810204019a7b8eb3e0b329dd6_0/geoservice

@dahuki

This comment has been minimized.

Copy link

@dahuki dahuki commented Oct 26, 2020

Ich habe vorhin schon viel gegoogelt, weiß aber nicht so richtig wonach ich suchen muss, deshalb stelle ich hier jetzt einfach mal direkt die Frage:
Hat wer eine Link, der ein bisschen beschreibt, wie man eine Query an diesen ArcGIS Feature Server so stellt, dass man eine URL rausbekommt, mit der man weiterarbeiten kann? Das wäre super klasse!

hilft dir das evtl ?

https://npgeo-corona-npgeo-de.hub.arcgis.com/datasets/dd4580c810204019a7b8eb3e0b329dd6_0/geoservice

Danke, das ist auf jeden Fall schonmal sehr hilfreich! Ich glaub ich muss mich einfach noch ein bisschen mehr mit der Terminologie auseinandersetzen, bin völlig neu in dem ganzen Thema :)

@herrxyz

This comment has been minimized.

Copy link

@herrxyz herrxyz commented Oct 27, 2020

danke für die Anleitung :-)
habe um die InzCases noch ein "cut text" gemacht, damit die Zahl nicht so viele Nachkommastellen hat - kann gerne übernommen werden
$tc(cut, wg(gv(url), json, .features[0].attributes.cases7_per_100k),5)$

Die Lösung scheitert aber ab 100 Fällen.

Dafür ist die Variable InzNum: $mu(round,gv(inzCases),1)$ da, welche auf eine Nachkommastelle rundet :) Die 1 ist die Anzahl der Stellen.

stimmt :-) ich hatte vergessen, die InzNum als Variable zu setzen und habe mich gewundert, für was die "nutzlose Zahl" 0 ist .. kopf -> tisch

ist es möglich, über eine Schleife mehrere Orte über Arrays abzufragen? Oder muss jeder Ort mit den ganzen Variablen wiederholt werden?

@Botiplz

This comment has been minimized.

Copy link
Owner Author

@Botiplz Botiplz commented Oct 27, 2020

Bisher gehen meines Wissens nach keine einfachen Schleifen, aber eventuell arbeitet hier ein gewisser jemand an einer App, die das ermöglicht und den Prozess vereinfacht 😌

@nouse4it

This comment has been minimized.

Copy link

@nouse4it nouse4it commented Nov 3, 2020

Danke für die tolle Anleitung! Es funktioniert soweit alles. Nur mein Widget aktualisiert sich leider nicht (Zahl wird nicht geupdated). Müssen dafür spezielle Einstellungen vorgenommen oder Berechtigungen vergeben werden?
Danke!

@ScrappyCoco1909

This comment has been minimized.

Copy link

@ScrappyCoco1909 ScrappyCoco1909 commented Nov 4, 2020

Ich bin leider zu dämlich....

Kriege folgende Fehlermeldung u.a. bei Inzgen:

Screenshot_20201104-200932

Was mache ich falsch?

Screenshot_20201104-200945

Vielen Dank und viele Grüße
Scrappy

@eric1905

This comment has been minimized.

Copy link

@eric1905 eric1905 commented Nov 5, 2020

Sind das alles Textvariablen? Das Symbol von InzNum und InzFarbe deutet ja auf Nummer und Farbe hin. Da kann ich aber keine Formel hinterlegen.
Habe ich eine Textvariable sagt er mir bei InzNum : mu: invalid numeric argument

Auch die url lässt sich nicht vollständig als Formel speichern. Sind es überhaupt Formeln oder die normale Beschreibung?

@bschwimmbeck

This comment has been minimized.

Copy link

@bschwimmbeck bschwimmbeck commented Nov 5, 2020

Da kann ich aber keine Formel hinterlegen.
Kannst Du oben rechts auf die 3 Punkte klicken und die Formeleingabe aktivieren?

@eric1905

This comment has been minimized.

Copy link

@eric1905 eric1905 commented Nov 5, 2020

Ah das wusste ich nicht. Jetzt geht's. Danke

@ScrappyCoco1909

This comment has been minimized.

Copy link

@ScrappyCoco1909 ScrappyCoco1909 commented Nov 6, 2020

Warum bekomme ich den Fehler "err: no results for path: $['features'][0]['attributes']['gen']?

@eric1905

This comment has been minimized.

Copy link

@eric1905 eric1905 commented Nov 6, 2020

Den hatte ich auch solange noch keine Stadt erkannt war in der ich bin. Als die Stadt erkannt wurde ging es. Öffne dich Mal die URL und setze Lon und lat ein die dir angezeigt werden und Guck dir das JSON an

@ScrappyCoco1909

This comment has been minimized.

Copy link

@ScrappyCoco1909 ScrappyCoco1909 commented Nov 6, 2020

Den hatte ich auch solange noch keine Stadt erkannt war in der ich bin. Als die Stadt erkannt wurde ging es. Öffne dich Mal die URL und setze Lon und lat ein die dir angezeigt werden und Guck dir das JSON an

Danke!!! Habe in den Einstellungen meine Stadt als Hauptstandort gewählt anstelle von Automatisch (GPS) und jetzt klappt es sofort!

@AlienLifeForm1

This comment has been minimized.

Copy link

@AlienLifeForm1 AlienLifeForm1 commented Dec 6, 2020

Hat schon jemand das ganze um eine Trendanzeige erweitert?

Wenn man für seinen Bereich die Werte alleine für 10 Tage abruft, bekommt man über 90 Einzelwerte, die man aufaddieren muss. Hier mal eine Beispiel-URL:

https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/RKI_COVID19/FeatureServer/0/query?where=IdLandkreis%20%3D%20%2704011%27%20AND%20Meldedatum%20>%3D%20TIMESTAMP%20%272020-11-24%2000%3A00%3A00%27%20AND%20Meldedatum%20<%3D%20TIMESTAMP%20%272020-12-04%2000%3A00%3A00%27&outFields=Meldedatum,AnzahlFall&f=json

Ich schaffe es über das gesamte Ergebnis mit einer Schleife zu laufen und den Wert AnzahlFall jeweils mit einem '+' dazwischen zu schreiben, es ist aber dann ein String und leider nicht die Summe.

In der Rückmeldung ist auch das Meldedatum. Kann man das beim Aufaddieren mit abfragen, so dass man aus dem obigen Abruf von 10 Tagen sich 2 Summen von je 7 Tagen erzeugen kann, um daraus den Trend zu ermitteln oder muss ich 2 URLs und damit 2 Abfragen benutzen?

@tawissus

This comment has been minimized.

Copy link

@tawissus tawissus commented Jan 15, 2021

Gibt es schon eine URL für die Inzidenz in einem Bundesland und gesamt Deutschland?

@herrxyz

This comment has been minimized.

Copy link

@herrxyz herrxyz commented Jan 15, 2021

@ tawissus:
ich nutze folgende parameter als "outfield"
GEN - Ort
cases7_per_100k - Fälle 7 Tage pro 100.000
cases_per_population - nicht ganz klar
recovered - geheilt
death_rate - Todesrate
deaths - Tote gesamt
cases - Fälle gesamt
last_update - letzte Aktualisierung / Datenstand
cases7_bl_per_100k - 7 Tages Inzidenzt für das Bundesland, in dem auch der Ort ist
BL - Name des Bundeslands
als bsp:
https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/RKI_Landkreisdaten/FeatureServer/0/query?where=1%3D1&outFields=GEN,cases7_per_100k,cases_per_population,recovered,death_rate,deaths,cases,last_update,cases7_bl_per_100k,BL&geometry='.$value[1].'%2C'.$value[0].'&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelWithin&returnGeometry=false&outSR=4326&f=json (im format mit variablen für php, habe ein kleines script dem ich per post/get geodaten übergebe und das dann einen formatierten Text zurück gibt, da mir KWGT für die Formatierung zu kompliziert war)

@AnUncreativeUsername74

This comment has been minimized.

Copy link

@AnUncreativeUsername74 AnUncreativeUsername74 commented Feb 10, 2021

Kann jemand ein Preset für eine Version mit regionaler, landesweiter und bundesweiter Inzidenz und/oder Neuinektionen schicken? Hier haben sich ja schon einige die Mühe gemacht, da wären doppelte Bemühungen unnötig und es wäre für Laien, wie mich, einfacher. Vielen Dank im Voraus

@ollifa75

This comment has been minimized.

Copy link

@ollifa75 ollifa75 commented Mar 7, 2021

Hallo zusammen,

hätte mal eine Frage bezüglich der Möglichkeit, "Formlen" in dem Widget zu nutzen. Es ist ja zB schon eine wenn/dann-Abfrage bezüglich der farblichen Ausgestaltung der Inzidenz eingepfelgt. Nun dachte ich mir, ich erstelle mir ein Hintergrundbild mit einem passenden "Inzidenz-Smiley" und lass dies auf Grund der Inzidenz dynamisch auswählen.

Also hab ich mir schnell mal ein Widget aus obigen "Base"-Variablen etc zusammen gebastelt. Leider funktioniert es nicht.

Die farbliche Abstufung funktioniert bis zu einem gewissen Punkt. zB von Inz=300 runter zu Inz=100... Wenn ich nun zB manuell eine Inz von >=35 einstelle, dann übernimmt es nicht den eingestellten Farbwert von >=35 sondern springt bzw bleibt einfach bei 100 stehen...

Ebenso mit dem Hintergrundbild. Es wird, je nach Inz-Wert, das passende Hintergrundbild ausgewählt, aber bei 35 springt es ebenso wieder zurück auf 100...

Kann oder mag da mal jemand über den Code sehen?

Das wäre der Code, der für die Farbauswahl nach Inz zuständig wäre...

$if(
gv(InzNum)>=300,#550000,
gv(InzNum)>=200,#55007f,
gv(InzNum)>=100,#990000,
gv(InzNum)>=50,#ff0000,
gv(InzNum)>=35,#ffcc00,
gv(InzNum)>=10,#ffff00,
gv(InzNum)>=1,#00ff00,
gv(InzNum)>0,#caffee,
#ffffff
)$

Und das wäre der Code, der das Hintergrund nach Inz auswählen soll... (Hintergrundbilder wurden bereits vorher als globale Variable definiert):

$if(
gv(InzNum)>=1000,gv(img_1000),
gv(InzNum)>=500,gv(img_0500),
gv(InzNum)>=300,gv(img_0300),
gv(InzNum)>=200,gv(img_0200),
gv(InzNum)>=100,gv(img_0100),
gv(InzNum)>=50,gv(img_0050),
gv(InzNum)>=35,gv(img_0035),
gv(InzNum)>=10,gv(img_0010),
gv(InzNum)>=1,gv(img_0001),
gv(img_0000)
)$

Danke einstweilen...

ollifa

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment