Manchmal ärgert man sich unglaublich wenn man etwas zu spät entdeckt...
Ich weiß nicht ob ich es schon mal erwänt hatte ... ich habe mal viele Jahre damit verbracht eine Branchenlösung mit "Powerbuilder" (zunächst sybase, später SAP) und dem MSSQL-Server zu basteln. Im Grunde eine Warenwirtschaft, die mit den Variantenreichen (im Grunde vererbten Eigenschaften) von bes. Textilien als Artikeln gut klarkommt...(Natürlich kann man einfache Artikel auch verdauen)...
Mir ist zwar dabei konkret die Anforderung gekommen eine Lösung für eigene Auslieferung anzubieten (Man benutzt eben die üblichen Verdächtigen DHL,DPD, usw. und hat dann nach dem Scannen des Lieferscheins nichts mehr damit am Hut.)
Auch damals schon wäre natürlich eine (kostenpflichtige) Lösung mit google Diensten recht einfach möglich gewesen...
Als ich aber jetzt die Tage ein Paket von DHL erwartet habe, bin ich fast vom Glauben abgefallen....
Das ist ja heute erschreckend Einfach! Ein Kunde Bekommt eine E-Mail mit solch einem Link.
Und schon sind wir auf gleichem Niveau, wie die professionellen Versender. (Nur, dass die bestimmt nicht Joomla irgendwo verwenden würden).
Das ist natürlich nicht mein Verdienst, sondern die Ehre gebührt dem "OpenStreetMap" Projekt sowie auch dem Herausgeber der leaflet Javascript-Bibliothek , die alles kinderleicht nutzbar macht.
Joomla macht mich derweilen eher aggressiv (muss etwas gant persönliches sein - liegt nur an mir. PHP-CMS sind toll!).
Das ist wirklich erschreckend:
Ich habe mal einen Screenshot aus der alten Warenwirtschaft mitgebracht:
Da sieht man mal welche daten allein zu einem Kunden oft erfasst werden. Oben-links finden sich die Lieferadresse(n) des Kunden - mit allen möglichen und unmöglichen Kontaktdaten- hier auch noch Geodaten (Länge und Breite) zu hinterlegen ist wirklich kein Ding - ind ob ich z.B. einPaket bei DHL ankündige oder einen eigenen Lieferwagen bestücke.... Auf der Seite des Versenders könnte es ggf. so aussehen:
Für einen Kunden , der wie hier bereits ca. 20 Lieferungen empfangen hat (kleine Liste links im Bild) lohnt es allemal ... Das einzige, was hinzukommt, man muss den Fahrer darauf trainieren auf seinem Tablet jewils zu bestätigen, wenn eine Lieferung erfolgreich ist...(siehe auch hier)
(natürlich: Die Daten hier sind in sich nicht schlüssig - aber es sollte klar sein, dass ich hier keine Echtdaten anzeigen kann oder z.B. Lieferwagen im Kreis fahren lassen ;) ... voll funktionsfähig wäre die Anwendung wohl in wenigen Tagen.!!!
Das ist auch wirklich keine Übertreibung. Lösungen, wo nicht zumindest ein Teil der Daten "in der Cloud" verfügbar - oder auf einem Webserver gespiegelt sind, werden wohl eher selten sein. Das wahr schon bei meiner Warenwirtschaft vor 15 Jahren der Fall - ganz dumpfer Grund: Wer nicht will, das B2B Kunden anrufen um personal zu belästigen - gibt denen einen Online-Zugang um zu schauen in welchem Status sein Auftrag gerade ist... nur um den Kartensalat, kam man damals (nach meinem Wissensstand) an Google nicht herum!
- Details
- Geschrieben von: admin
- Kategorie: Projekte
- Zugriffe: 327
Heute ist mir ein seltsamer Gedanke gekommen...
So eine Straßenbahn ist nicht wirklich schnell unterwegs. Meine Lieblingslinie ist (Fahrstrecke knapp 23 Km lang - und überbrückt dabei (Luftlinie) etwa die Hälfte der Strecke +/- und braucht dafür gut 1 h.
Auf der Strecke von knapp 23km hält die Bahn ca. 40 mal.
Die längste Strecke zwischen 2 Haltepunkten beträgt:
21 | Alte Ümminger Str. | Opel Werk I | 1635m | 281.4° | WNW |
Die kürzeste Strecke zwischen 2 Haltepunkten..
33 | Bochum Wattenscheider Str. | Bochum Erzstr. | 207.0m | 237.5° | WSW |
Unter den 40 Haltestellen sind 14 weniger als 500m von Stopp zu Stopp entfernt.
Um so eine Straßenbahn, die Je nach Modell typischerweise ca. 40T (40.000kg) wiegt aus dem Stand auf 45km/h zu beschleunigen (nicht die Strecke zu befahren) bedarf es ca. dem Energieäquivalent von 1 L Benzin (ganz unabhängig vom Wirkungsgrad). Darüber hinaus kostet jeder Stopp so 40s bis 1 min (?) Fahrzeit...
Meine Lieblingsbahn fährt die Strecke am Tag ca.50 mal - 100mal wenn man beide Richtungen berücksichtigt. Könnte ich auf der Strecke 5 Stopps einsparen - was Spare ich dann? 500L Benzin am Tag - oder knapp 15T im Monat?
Kann man da noch etwas optimieren?
Seit ich den ÖPNV benutze kann ich sagen - oh ja!
1.) Traditionell liegen sich Haltestelen einer Linie in den entgegengesetzten Richtungen direkt gegenüber auf der Straße, oder Gleis. Das erscheint zwar erstmal logisch (und wolte man es ändern, gäbe es Vermittlungsbedarf...). Ist es aber sinnvoll?... ggf. nein!
Warum? kann es sein, dass den Planern keine topographischen Karten, die Höhen und Steigungen zur Verfügung hatten?
Ich z.B. wohne an so einer aufsteigenden Strecke. Ich könnte it dem Bus oder mit der Bahn in die Innenstadt fahren. Mit dem Blick auf die Straßenkarte ist die Sache klar. Luftlinie 300m entfernt ist eine Bushaltestelle. Dann ist da noch ein Häuserblock - umläuft man den, ist die Haltestelle ggf. 400m Laufweg entfernt.
700m in die eine und 500m in die andere Richtung entfernt ist eine Haltestelle der Straßenbahn. Möchte ich nun in der Innenstadt etwas besorgen - welches Verkehrsmittel nehme ich auf dem Hinweg?
Richtig. Ganz offensichtlich die Straßenbahn - in 700m Entfernung!
Warum? Weil ich in auf dem Weg in die Stadt die 700m bergab gehen muss - und die 300 bergauf.
Auch auf dem Rückweg - das ist jetzt weitgehend off Topic , weil individuell - nehme ich die Bahn, weil zwischen den 500m Fußweg eine Sparkasse und ein "Aldi" liegen ...
Grundsätzlich nutze ich die Haltestelle des Busses "bergauf" aber immer dann, wen ich einen Einkauf dabei habe, den ich schleppen muss. Den bergab... warum?
2.) Ist die Bebauung wirklich berücksichtigt? In den vergangenen monaten in denen ich öfter den ÖPNV benutzt habe, ist mir u.a. auch aufgefallen, dass an einigen Haltestellen kaum etwas los ist.
So folgt meine Lieblingsstraßenbahn z.B. zwischen :
3 | Witten Heven Hellweg | Witten Friedrich-List-Str | 626m | 74.5° | ONO |
4 | Witten Friederich-List-Str | Witten Hardel | 218m | 120.7° | OSO |
5 | Witten Hardel | Witten Sprocköveler Str. | 235m | 174.4° | S |
Im Wesentlichen einer Hauptstraße, wobei die Trassenführung der Straßenbahn selbst (Schienenweg) und die Bebauung es schwierig machen die Haltestellen "Friederich-List-Str." oder "Hardel" sinnvoll zu erreichen, es sei denn man wohnt direkt "im Wannen", dessen Querstraßen für den Namen sorgen. Klar, einige Leute wohnen dort auch direkt ... aber ohne Statistische Evidenz habe ich dort nur selten zusteigende oder aussteigende Personen beobachtet - und auch hier gibt es eine gewisse Steigung zu berücksichtigen - natürlich geringer als im Busbeispiel... aber immerhin.
Eine weitere Linie, die das Gelände kreuzt, ist zudem der Bus 375...
Fazit: Ich bin mir recht sicher, selbst wenn man noch an bestimmten Stellen Haltepunkte einfügt, um den Service zu verbessern, kann man durch asynchrone Streckenführung Ressourcen sparen...
- Details
- Geschrieben von: admin
- Kategorie: Projekte
- Zugriffe: 285
Heute habe ich zwar etwas herumprogrammiert - aber nicht der Rede wert..
Dafür habe ich meinen Kumpel KI mal nach einem Selbstbildnis - im Stile verschiedener Künstler gefragt...
Also die künstlerischen Fähigkeiten sind schon beeindrucken, das könnte man sich scho an die Wand hängen ...
Ich bin zwar kein Experte - bin mir bei den Stilen da aber nicht so sicher - so rutscht mir der Monet bei jedem Versuch irgendwie stark Richtung Farben von "van Goch" oder Jugendstil ..
.
Hat noch jemand ein komisches Gefühl bei der Darstellung im Michelangelo Stil?
oder hier:
... kann man das "egozentrisch" nennen?.. ich frag' für einen Freund...
- Details
- Geschrieben von: admin
- Kategorie: Projekte
- Zugriffe: 216
Apache Cordova Android. So Semi Native -code für die Platformen. Eher so eine Art Wrapper zwishen einer "klassischen Wabanwendung" und der eigentlichen Umgebung. So wie ich das verstehe, ehemals ein Adobe Kind, jetzt unter apache Lizens unterwegs. Eigentlich ganz guter Ansatz. Habe aber keine Idee, wie der Marktanteil in 3 Jahren aussieht. Als im kern eine Webanwendung mit HTML5, CSS und Javascript natürlich von der Anwendung her einer der einfachsten Kandidaten.
Probleme:
- Auch "Cordova" ist im Grunde ein Kommandozeilen-Tool, das um seine Pracht zu entfalten einiges an Drittprodukten, mit entsprechenden Erweiterungen benötigt. Zunächst VSC (im "normalen" Visual-Studio gab es mal eine Projektunterstützung, das letzte 'update', welches ich gefunden habe stammt aus 2016. Glaube nicht, dass das.... Auf jeden Fall benötigt man für das Build "Gradle" - welches aber z.B mit meinem JDK 22 nicht zufrieden war, weshalb ich zurück auf jdk-17 musste... Hab schon lange nicht mehr so viele Systempfade von Hand "umgebogen" wie in den letzten Tagen.
Das war vor ein paar Tagen.
Heute habe ich mich dann nochmal daran gesetzt, diese Webanwendung, die ich vor ein paar Tagen gebastelt hatte als Android-Anwendung "App" umzusetzen. Naja, zumindest so ähnlich, da cordova ja so wie eingangs beschrieben arbeitet...
Auf dem zweiten Blick ist die Anwendung von Cordova doch recht übersichtlich. Mein bescheidenes Anliegen heute war, eine .apk zu basteln, die auf einem Android-Gerät läuft (ich hab heute die Emulatoren weggelassen und mein Tablet benutzt (beim letzten Mal bin ich an den emulierten Geräten, bzw. mit der Verbindung zu ihnen verzweifelt).
Was sol die Anwendung zunächst können?
1.) Positionsdaten - mit der maximalen Genauigkeit des Geräts - in vorgegebenen Intervallen erfassen...
2.) Diese Position, zusammen mit der Geräte ID an den Server - hier: https://thomas-hering.org/... senden und eine Antwort empfangen.
Ersteres geht erstaunlich einfach und ohne größere Verwirrung. Sinniger Weise wird der Benutzer des Android Gerätes gefragt, ob er das das Auslesen der Positionsdaten , in der gewünschten Genauigkeitsstufe, zulassen will.
Erstaunlicherweise kann man das sogar auf zweierlei weise erreichen:
- So wie von der Webanwendung, die ich letzte Woche irgendwann gebastelt hatte..und mit einem cordova-plugin. (Allerdings vermute ich mal, das es im Grunde das selbe ist nur weiter verkapselt - die Bedienung ist wirklich sehr einfach)
Der zweite Task, die Übermittlung der Daten an den Server, war schon etwas gewöhnungsbedürftiger.Zunächst wird ständig die Verbindung zu Server verweigert, weil es gegen Sicherheitsrichtlinien verstößt...
Ich glaubte ich bin sicher nicht der Erste, der diese Einschränkungen bei Android und dem Schutz des Gerätebenutzers - und deshalb auf dem Gerät oder bei Android gesucht hätte... aber vergeblich!
Die entsprechenden Freigaben erteilt man vor dem Build in der config.xml auf Seiten der Anwendung eingestellt wird. Es wird also bei der Installation auf dem Gerät - ohne jede Benutzerangabe - einfach mitgegeben. Ich verstehe den sinn nicht ganz. Will der Herausgeber dadurch etwas böses - wer oder was hindert ihn?
Egal . Ungeschminkt mit der Notwendigsten Oberfläche sieht das auf meinem Tablet jetzt so aus:
Oben in der Tabelle Stehen die Ausgelesenen Geodaten, der Butten erzeugt einen Abruf zwischen den vorgesehenen Intervallen - und im Grünen Feld sieht man die Serverantwort - damit man auch merkt, wenn etwas nicht funktioniert.
Damit das Ganze einen informativen Mehrwert hat:
Was die Optik angeht - nein, meine Geschmacksnerven sind nicht vollständig verödet. Das 'debuggen' ist halt etwas schwerfällig - und da hatte ich nicht große Lust zum Designer für den Protozypen zu werden.
Wichtig: Das findet man nicht so leicht im Netz...
Zum debuggen ist google-Chrome (ja, der Browser) ganz gut geeignet.
Man gibt in der Browserzeile (wo sonst die URL einer Website steht) "chrome://inspect" an.
In der sich öffnenden Seite "DevTools" sollte " Discover USB devices" angehakt sein.. (hatte ich erwähnt, das das Android-Gerät mit dem PC verbunden sein muss?
Nach kurzer Zeit der Meditation erscheint dann einiges - unter anderem ein Weg zu den Consolen Ausgaben des Android Geräts, wo sich mögliche Fehler finden...
Falls ich es noch nicht erwähnt haben sollte: Um in den Entwicklermodus meines Samsung Gerätes zu kommen, muss man gaaanz unten in den Einstellungen 7x auf die build-Nummer tippen. (Ich schwör, kein Scheiß) und dort das debuggen über usb erlauben.
Ebenso eine Überraschung: Mein Tablet verrät nirgendwo , dass es einen GPS-Sensor beherbergt - tut es aber offensichtlich: Genauigkeit 27m (identisch mit meinem Handy) geht nicht ohne...
Weitere Tips: Setze die Pfade zu "JAVA_HOME" sowie "GRADLE_HOME" in den Systemumgebungsvariablen. Ich habe auch den Pfad zu "ANT_HOME" gesetzt. Ist Android Studio nicht installiert, muss auch noch der Pfad zum Android SDK eingetragen werden (fragt mich nicht, wie es mit der Installation funktioniert).
Und: Der Befehl "cordova build android" läuft wie am Schnürchen...Bei neu auftauchendem Unsinn, würde ich zunächst den Befehl: "cordova clean" empfehlen...
PS.: Warum der kleine Kerl auf dem Bild? Heute schon bester Mitarbeiter! Gibt es einen Fehler - Quellcode an die KI und fehlerfrei zurück...
Angst!
- Details
- Geschrieben von: admin
- Kategorie: Projekte
- Zugriffe: 227
Heute Habetr ich mich ein klein wenig dumm angestellt... äh.. räusper...
Es geht immer noch darum: Ein Test
Problematisch dort, den Standort, bzw. die der zuvor daraus ermittelten Koordinaten auf einer Karte anzuzeigen. Es ist ja auch nur Test und soll mal "schnell" mit heißer Nadel gestrickt werden...
Eine Deutschlandkarte unter der CC BY-SA 3.0 von einem Urheber C. Busch ( Hamburg ) war recht schnell gefunden. So sollte es doch kein Hexenwerk sein einen Standort dort anzuzeigen...
Im Original hat die Grafik eine schöne Größe von 750x1000 px.
Mein erster Gedanke: Nehme ich einen Div-Container und ersetze - zumindest in dem Entwurf - die Positionen in einem php-script.
..und benutze eine um eine in den Dimensionen auf 1/2 verkleinert Bilddatei als Hintergrund. Darauf - mit kleinem offset - eine Standortanzeige:
1.) Problem: Bei dem DIV #d beginnt die relative Positionierung des child #x bei (0:0) also irgendwo in der linken oberen Ecke, bzw. der Nordsee.. grob geschätzt irgendwo bei lat: 55.13314, lon: 4.94311 ... aber das ist nur grob geschätzt....
Das ist der unsichere Ursprung unseres kartesischen Koordinatensystems - in der linken oberen Ecke der Karte.
2.) Problem : Zuverlässig ergibt sich aus der Entfernungsberechnung zweier Koordinaten (z.B. Dortmund -Berlin) eine Entfernung - Allerdings gibt es schon ein Problem mit der Peilung. Die korrekte Peilung auf einer angenäherten Kugel entspricht eben nicht den Verhältnissen einer Karte.
Im Nahbereich fällt das kaum in's Gewicht - bei einer Peilung "irgendwo in der Nordsee" zu Berlin oder München, dann doch aber schon deutlich...
Natürlich wäre es hier auch technisch kein Problem exaktere Ergebnisse zu erzielen (Kartenmaterial, geeignete Fixpunkte usw.) . Für reine Demonstrationszwecke ist es mir hier aber die Arbeit und (Lizenz/Nutzungs-) Gebühren nicht wert (Natürlich stellt google-Jeden Punkt ohne großes hin und her , sozusagen auf Knopfdruck da).
Ich denke ich habe hier genug Zeit... äh... aufgewendet.
- Details
- Geschrieben von: admin
- Kategorie: Projekte
- Zugriffe: 253