trotz aller Englsichkenntnisse ist es natürlich schöner, wenn man in seiner Muttersprache schreiben kann. Ich bin an einem Erfahrungsaustausch mit anderen C# oder auch Visual Basic.NET-Programmierern interessiert.
Bzgl. Manifold bin ich Anfänger. Leider ist die Online-Dokumentation m.E. keine Hilfe beim Programmieren aus externen Programme heraus. Gibt es da etwas besseres, was ich nur noch nicht gefunden habe?
Gruß Inline-Igel
Re: Programmieren mit C#
Sicher hast Du das Objektmodell im free stuff auf www.manifold.net schon entdeckt:
Ich denke, dass Documentation Project entspringt dem gleichen Problem, und wenn da erstmal was zusammen kommt, dann ist es nach meiner Linuxerfahrung sicher die beste Infoquelle, die man sich denken kann. Aber noch ist das dünne. Klaus
Re: Programmieren mit C#
Hallo Klaus,
danke für die Antwort.
Die Beispiele in den Links hatte ich in C# so umgesetzt:
Ich bekomme dann eine Liste mit allen Objekten (Drawings, Tables) in dem Projekt.
Ich will eine Webapplikation erstellen. Überlicherweise funktionieren die als Endlosschleife. Über JavaScript bietet man dem User z.B. eine Zoomfunktion an. Wenn er die ausgewählt hat und dann in die Karte (= Absendebutton) klickt, werden die Daten an den Server gesendet. Das Script ruft Funktionen des GIS-Programmes auf und läßt die Grafik neu erstellen und als Bitmap exportieren und zeigt diese neue Bitmap an.
Und an genau der Stelle hänge ich: Wie erzeuge ich die Bitmap?
Wenn ich innerhalb von Manifold mir ein Template für ASP.NET erstellen lasse, bekomme ich einfach einige Scriptdateien mit "schnödem" JavaScript Inhalt (soweit die Realität zu den Werbeaussagen, dass Manifold mit ASP und ASP.NET zusammenarbeiten kann). In den Templates wird mit einem MapServer-Objekt gearbeitet.
Das Objektmodell war mir bisher nicht bekannt. Dort hängt das MapServer-Objekt ganz unten verbindungslos herum. Stattdessen sehe ich aber, dass an dem Application-Objekt die Exports hängen.
Im unendlich dicken Handbuch gibt es ein Kapitel "Programming Reference". Dort finde ich dann für das Application Objekt unter Methoden: Export NewExport(String name) Creates new exporter using exporter name.
Und da hänge ich halt fest. Analog zum Document-Objekt hätte ich jetzt geschrieben: Manifold.ExportGif pic = (Manifold.ExportGif) app.NewExport("name"); Ohne das Cast meckert schon der Compiler, weil es unterschiedliche Datentypen sind, mit gibt es dann einen Laufzeitfehler mit der simplen Meldung "Ausnahmefehler des Servers".
Ich habe es dann auch noch in der Form app.NewExport("testname"); versucht, führt aber zum selben Laufzeitfehler.
Nun gibt es dann eine Methode Export, die aber als ersten Parameter eine Komponente erwartet. Und an der Stelle habe ich ein Verständnisproblem. Von einem Konkurenzprodukt kenne ich das so, dass mehrere Karten als Layer übereinanderliegen, z.B. eine Karte mit den Grenzen, dann eine mit Städten usw. Bei Manifold kann ich nur jede Karte einzeln exportieren?
An der Stelle mache ich erstmal Schluss für heute.
Gruß Jürgen
Re: Programmieren mit C#
oops, das war einmal zu früh auf den Antwortknopf gedrückt.
Re: Programmieren mit C#
Also mit dem WEB kämfpe ich auch noch nur mit viel weniger Hintergrundwissen als Du. Ich habe gelesen, dass manifolds IMS PNGs liefert (nicht die schlechteste Wahl, oder?). Vielleicht hilft Dir dieser 'Gesprächsfaden' weiter ? https://www.georeference.org/Forums/forums/thread-view.asp?tid=573&posts=8
Bezüglich des letzten Absatzes kann ich Dich aber beruhigen: manifold kennt die map component, die genau Deine Layer oder themes oder wie weitere components (drawing, image, ...) auch heißen mögen geordnet darstellt und die click-barkeit, Transparenz usw. organisiert. Also reicht es aus, diese eine componente zu exportieren.
Klaus
Re: Programmieren mit C#
Hallo Klaus,
nachdem ich mich gestern über einige englische Postings gewundert hatte, habe ich dann mal das Handbuch weitergelesen und auch entdeckt, was sich hinter der Komponente map tatsächlich versteckt.
Ansonsten bin ich auf das neue Forum umgezogen. Vielleicht können wir die Diskussion dort weiter fortsetzen?