Skip to content

Instantly share code, notes, and snippets.

@Botiplz
Last active February 22, 2022 05:26
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Botiplz/8f26dc40810ff2d39d8bd5fba7d4925c to your computer and use it in GitHub Desktop.
Save Botiplz/8f26dc40810ff2d39d8bd5fba7d4925c to your computer and use it in GitHub Desktop.
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)$
@xhumer
Copy link

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
Copy link
Author

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
Copy link

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
Copy link

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
Copy link

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
Copy link

LilPu77 commented Oct 26, 2020

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

@bschwimmbeck
Copy link

@Botiplz
Copy link
Author

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link
Author

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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

@eric1905
Copy link

eric1905 commented Nov 5, 2020

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

@ScrappyCoco1909
Copy link

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

@eric1905
Copy link

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
Copy link

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
Copy link

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
Copy link

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

@herrxyz
Copy link

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)

@0evers
Copy link

0evers 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
Copy link

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

@floppy0815
Copy link

Hi zusammen,

ich würde gerne die Hospitalisierungsinzidenz in das Widget scrapen. Leider gibt es hier keine JSON-Daten zum abrufen, sondern nur im csv-format unter folgender Adresse: https://github.com/robert-koch-institut/COVID-19-Hospitalisierungen_in_Deutschland
Wie geht das denn? Gibts da ne Anleitung? Danke :-)

@ScrappyCoco1909
Copy link

Moin,
seit ein paar Tagen funktioniert der Abruf der Neuinfektionen in DE nicht mehr. Hat sich der Link verändert?

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