|
POST
|
Chenyu Zuo, Esri Deutschland, talks at GeoDev Meetup 5 2017 - "The Power of Scripting" in Munich. Social media has become prevalent in the last decade. People publish various topics, for instance food, work, traveling, sports, health, on a variety of social media platforms on a daily basis, which reflect a wide range of socioeconomic phenomena and human behaviors. The rich social media data can also be used for traffic information extraction and analysing. For example, where and when do people complain about public transport services? How is traffic congestion related to traffic accidents? Which kinds of people activities are related to traffics. Ming such information is very interesting and challenging. In this talk, we hope to provide you solutions for events extraction from textual data and innovative ways of geo-data analysing.
... View more
12-13-2017
04:14 AM
|
0
|
0
|
1490
|
|
POST
|
Hallo Matthias, Da brauchst Du Dir keine Sorgen zu machen. Mit ArcCatalog/ArcMap angelegte FeatureClasses mit Domains können problemlos in ArcGIS Pro genutzt werden, andersherum genauso. Viele Grüße, Alex
... View more
11-19-2017
11:58 PM
|
1
|
0
|
2238
|
|
POST
|
Hallo Matthias, Um sicherzugehen, dass wir vom gleichen reden - unter Domains verstehe ich in ArcGIS das hier: Kurzer Überblick über Attributdomänen—ArcGIS Help | ArcGIS Desktop Domains legt man auf Datenbankebene in einer FeatureClass an und sind somit in ArcMap, ArcGIS Pro und, wenn man die Daten als FeatureService veröffentlicht, auch in Apps nutzbar, so auch im Collector. Kannst Du bitte etwas näher beschreiben, was Du mit 'Domains bearbeiten' meinst? Meinst Du das Bearbeiten des Schemas in der Datenbank oder meinst Du die Daten, die in einem Attributfeld mit Domain gespeichert werden sollen? Viele Grüße, Alex PS: Und Sorry für die verspätete Antwort, Deine Frage ist bei uns leider irgendwie untergegangen. In Zukunft bitte einfach einem von uns drei Group Admins kurz mit einer PM anpingen, wenn wir nicht innerhalb von 2-3 Tagen geantwortet haben.
... View more
11-15-2017
03:20 AM
|
0
|
2
|
2238
|
|
BLOG
|
Im Juli 2017 wurde das Major Release 2.0 des AppStudio for ArcGIS in einem neuen Look & Feel und mit aktualisierten Werkzeugen, verbesserten App-Templates und neuen App-Template-Samples veröffentlicht. Nun ist die Version 2.1 mit weiteren Neuerungen und Verbesserungen verfügbar. Neuigkeiten in AppStudio 2.1 (Auszug) Unterstützt nun Universal Windows Platform (UWP) Neues Community-Panel in AppStudio Desktop Aktualisierte AppStudio-Templates Neue AppFramework Plugins (Beta): Biometrische Authentifizierung Sichere Speicherung Hochpräzise Positionierung Interapp Communication (Text und URLs mit anderen Anwendungen austauschen) AppStudio Player unterstützt biometrische Authentifizierung und integrierte Windows-Authentifizierung (IWA) mehr... Neues Community-Panel in AppStudio Desktop Ausführliche Informationen zu den Neuerungen von AppStudio for ArcGIS Version 2.1 findet Ihr in diesem News Blog von Esri Inc. und in der AppStudio GeoNet Gruppe.
... View more
11-10-2017
04:56 AM
|
1
|
0
|
443
|
|
POST
|
Hallo Matthias, Es gibt keine Tabelle mit einer Gegenüberstellung äquivalenter Funktionen und Objekte, dazu sind beide Technologien zu verschieden. Die Doku der verschiedenen ArcGIS Runtime SDKs sind aber sehr gut (Tutorials, API Reference, Samplecode usw), da kommt man schnell zurecht. Es gibt Toolkits auf GitHub für die verschiedenen ArcGIS Runtime SDKs mit einigen fertigen Komponenten, hier z.B. das Toolkit für ArcGIS Runtime SDK for .NET. Aber es gibt keine ready-to-use Komponenten für das Layout einer App. Hier könnte vielleicht ein Blick auf die fertigen Beispiel-Apps auf developers.arcgis.com helfen. Ich hoffe das hilft weiter. Viele Grüße, Alex PS: Wir haben auch einen deutschen Bereich für Fragen hier auf GeoNet --> GeoDev Germany
... View more
11-02-2017
09:13 AM
|
1
|
0
|
1593
|
|
BLOG
|
Web AppBuilder for ArcGIS ist eine sofort verwendbare Anwendung zum Erstellen fokussierter ArcGIS Web-Apps mithilfe von intuitiven Widgets und Werkzeugen. Mit Web AppBuilder for ArcGIS können eigene Apps auf ArcGIS Online oder dem eigenen Server gehostet und auf jedem Endgerät genutzt werden. Ebenso lassen sich konfigurierbare Web-App-Vorlagen für die Wiederverwendung und unternehmensweite Nutzung erstellen. Die Funktionalität von Web AppBuilder for ArcGIS lässt sich durch benutzerdefinierte Widgets und Designs noch erweitern. Genau dafür benötigen Entwickler die Web AppBuilder for ArcGIS Developer Edition. Die neue Version 2.6 der Web AppBuilder for ArcGIS Developer Edition hat nun den gleichen funktionalen Stand wie der eingebettete Web AppBuilder in ArcGIS Online nach dem September Release. Im SDK selber wurden außerdem einige neue, hilfreiche Klassen und Methoden hinzugefügt. Vollständige Informationen dazu könnt Ihr in diesem Esri Inc. Blogeintrag nachlesen.
... View more
10-20-2017
08:24 AM
|
1
|
0
|
446
|
|
BLOG
|
ArcGIS Runtime ist eine Familie aus nativen SDKs zur Entwicklung von Geo-Apps für alle populären Mobile und Desktop Plattformen. Mit allen ArcGIS Runtime SDKs lassen sich Apps erstellen, die auch bei eingeschränkter oder fehlender Netzwerkverbindung den Zugang zu Karten und Daten und deren weitere Verwendung ermöglichen. Zusätzlich können Vektordaten auf das Gerät heruntergeladen, offline bearbeitet und später problemlos mit der Datenbank synchronisiert werden, sobald eine Internetverbindung besteht. Für die Offline-Bereitstellung von unterschiedlichen Datentypen gibt es mehrere Möglichkeiten und Workflows, die in ArcGIS Runtime problemlos kombiniert werden können. Dabei ist zu beachten, dass die SDKs für Desktops (.NET/WPF, Java, Qt) mit der Local Server Technologie mit einigen Daten umgehen können, die in den anderen SDKs nicht möglich sind. Grundsätzlich können wir drei Optionen unterscheiden: Prozessieren von Daten in ArcGIS Desktop in Form von ArcGIS Runtime Content oder verschiedene Arten von Packages und anschließende Bereitstellung per Side-Loading oder File-Download. Einbinden von „Originaldaten“ so wie sie sind, z.B. GeoTiff’s, KML, Shapes usw. Export der Daten von Services mit ArcGIS Runtime selbst, zur Laufzeit der App, so z.B. in Collector for ArcGIS (basiert auf ArcGIS Runtime Technologie) Natürlich können die Karten vom Entwickler clientseitig Layer für Layer zusammengepuzzelt werden. Das bedeutet einen gewissen Mehraufwand. Um tatsächlich eine komplette Karte mit allen Daten in einem Rutsch offline zu nehmen und zu nutzen gab es bis zur Version 100.0 der ArcGIS Runtime nur zwei Möglichkeiten – als vorprozessiertes Mobile Map Package (.mmpk) und als Map Package (.mpk) in Kombination mit dem Local Server. Beide zählen zu Option 1 in der Aufzählung weiter oben. Mit ArcGIS Runtime Version 100.1 gibt es nun mit dem neuen OfflineMapTask die Möglichkeit, eine vollständigen Karte in der App zur Laufzeit zu exportieren (Option 3). Der neue OfflineMapTask in ArcGIS Runtime v100.1 Voraussetzung für den OfflineMapTask ist eine WebMap, welche für die Offline-Verwendung konfiguriert wurde. Eine WebMap ist eine Beschreibung der Karte in Textformat (JSON) mit Informationen zu Datenquellen, Symbologie und Dingen wie Initial Extent, Design von PopUps u.s.w. Sämtliche ArcGIS Apps und Entwicklerwerkzeuge können WebMaps lesen und die Karte dementsprechend aufbauen. Sie sind somit das ganze Geheimnis, warum Karten durchgängig identisch aussehen egal welche ArcGIS Clients genutzt werden. WebMaps werden als Portal Items in ArcGIS Online oder ArcGIS Enterprise gespeichert und sie haben eine ID. Genau diese ID wird auch für den OfflineMapTask benötigt, um die Karte in ArcGIS Runtime offline zu nehmen. Die Schritt für Schritt Implementierung eines OfflineMapTasks steht in der jeweiligen Dokumentation der verschiedenen ArcGIS Runtime SDks beschrieben, hier zum Beispiel für .NET. Zusätzlich gibt es Samples auf GitHub um es auszuprobieren, hier z.B. auch für .NET. Deshalb ist es nicht notwendig die Vorgehensweise in diesem Blog nochmal aufzuschlüsseln. Interessant wiederum ist das Format, in welchem die Karte durch den OfflineMapTask auf dem Gerät abgelegt wird: In der Doku steht, dass die Daten als Mobile Map Package lokal gespeichert werden. Ein Mobile Map Package, wie wir es bisher kennen, ist eine gepackte Datei mit der Endung .mmpk. Dies hatte ich eigentlich nach dem ersten Test auch erwartet. Es wird aber ein Ordner mit .mmpk (Mobile Map Package) in der Bezeichnung angelegt, siehe Bild. Die Struktur darunter ähnelt stark der Struktur eines entpackten MMPKs (alle Packages sind gezippt). Unter diesem Ordner wiederum befindet sich die Beschreibung/Konfiguration der Karte (mobile_map.mmap), eine SQLite Datenbank (.geodatabase) mit den Vektordaten und auch Tile Packages (.tpk) der Basemaps. Zur Erinnerung, in den bestehenden, gepackten MMPK-Format sind Tile Packages bisher nicht erlaubt. Zudem kann der entstandene Mobile Map Package - Ordner nur noch in ArcGIS Runtime verwendet werden (via MobileMapPackage-Klasse) und nicht wie die gezippten MMPKs auch in ArcGIS Desktop. Ich persönlich vermute, dass wir es hier schon mit einer Weiterentwicklung zu tun haben, die auch auf der Developer Summit in Palm Springs in diversen Roadmaps erwähnt wurde: Mobile Map Packages sollen letztendlich lokal in ArcGIS Runtime verwaltet werden können, sämtlichen Inhalt des ArcGIS Runtime Contents enthalten können, Editierung von Vektordaten innerhalb des Packages ermöglichen und als Austauschformat zwischen ArcGIS Runtime und ArcGIS Desktop nutzbar sein. Genau der richtige Weg würde ich sagen.
... View more
10-12-2017
08:32 AM
|
3
|
0
|
835
|
|
BLOG
|
The ArcGIS API for JavaScript helps you create web mapping apps that use the geospatial capabilities provided by the ArcGIS platform. For example, you can create apps that display maps in 2D and 3D, integrate with ready-to-use content and services, and more, all in modern browsers like Chrome, Edge, Firefox, Internet Explorer (11 or higher), and Safari (7.1 or higher). The API supports HTML5 and CSS3 components, so you can develop apps that take advantage of modern browser capabilities to improve performance and flexibility. You can also use developer-friendly widgets, flexible UI placement tools, and pop-up windows to build apps that are responsive to any screen size. The new Version 4.5 of the ArcGIS API for JavaScript adds some key capabilities and several smaller enhancements, e.g.: Fast feature layers: Interact with more than a million features Initial release of sketching tools OGC enhancements - WMS and WMTS layers can now be visualized in a 3D scene Fast feature layer rendered with WebGL (beta) In the new version 3.22 of the ArcGIS API for JavaScript there are configurable point clustering as a highlight and some API updates. You can explore the full release notes and more information in this Esri Blogpost.
... View more
10-10-2017
04:36 AM
|
2
|
0
|
1199
|
|
BLOG
|
On September 18th, the third GeoMonday of this year was held on the topic “artificial intelligence and geodata”. More than 30 good-humoured Geogeeks, well supplied with pizza and beer, listened to exciting lectures and discussed lively about them. Did you miss this past GeoMonday? No problem, we have recorded all talks and took some pictures, see below. And don't worry, after GeoMonday is before GeoMonday. You can find all the details on meetup.com or here on GeoNet. See you again soon! Your GeoDev Germany & GeoMonday Team! Michael Marz, Esri Deutschland: How neural networks make GIS-supported crop production more efficient High-tech has already arrived in agriculture. Modern agricultural machinery and geographic information systems make precision farming possible. An important aspect in crop production is the basic fertilization with nutrients and additives. The pH value can already be determined in a small scale and during the crossing of a tractor with specific sensors. For essential macronutrients like phosphorus, on-site soil sampling as well as complex and cost-intensive determination of the content in the laboratory are still necessary. Phosphorus content depends on chemical and physical soil conditions. If these conditions are known, the content of phosphorus can be estimated. This paper provides extracts from a research project on how neural networks help to estimate local phosphorous content for fertilization by learning those nonlinear multilateral relationships in the soil. Martin Wilden and Matthias Stein, con terra: Natural language understanding in web mapping applications "Will speech soon do away with typing?" - This question has recently been raised by a large German newspaper. Lately, more and more speech assistants like Google Assistant, Amazon's Alexa, Mircosoft's Cortana or Apple's Siri are reaching the market and allowing users to control many parts of their life by voice input. This technology is called natural language understanding (NLU) and may also be used to control Web mapping technology. Imagine that you could say "show me all schools in Berlin" instead of using a selection tool to select those features. Some impressions:
... View more
09-22-2017
02:48 AM
|
3
|
0
|
1341
|
|
BLOG
|
StreetMap Premium for ArcGIS Runtime bietet hochwertige, weltweite Straßendaten, die für die Verwendung bei der kartographischen Kartendarstellung, Geokodierung und dem Routing optimiert wurden. Diese Daten können in Apps eingebunden werden, die mit den ArcGIS Runtime SDKs ab Version 100.0 entwickelt wurden. Sie werden lokal auf dem Gerät des Nutzers gespeichert – dass ermöglicht die Nutzung unterwegs und ohne Internetverbindung. Die Daten werden in regelmäßigen Abständen aktualisiert, so dass sie stets auf dem neuesten Stand sind und somit der Fokus der Entwicklungsarbeit ausschließlich auf der Erstellung und Pflege der eigentlichen Apps liegt. Folgende Vorteile bietet StreetMap Premium for ArcGIS Runtime: Detaillierte Straßengrundkarte Die mit StreetMap Premium for ArcGIS Runtime bereitgestellten Daten wurden bereits aufbereitet und sind als sofort einsetzbare Straßengrundkarte verfügbar. Diese hochwertige Grundkarte bietet in den Apps den nötigen räumlichen Kontext. Suchen und Geokodieren von Positionen StreetMap Premium for ArcGIS Runtime umfasst einen Locator-Task zur Geokodierung, der sich ganz einfach in Apps einbinden lässt. Mit diesem Locator können Nutzer nach spezifischen Adressen, Kreuzungen oder Points of Interest suchen und diese auf einer Karte darstellen. Lösen von Routen-Problemen StreetMap Premium for ArcGIS Runtime bietet auch ein Netzwerk-Dataset für Verkehrsnetze für umfassende Routing-Analysefunktionen in ArcGIS Runtime-Apps. Diese Daten ermöglichen das Ermitteln der optimalen Routen zwischen verschiedenen Orten im Straßennetzwerk. Offline-Verwendung von Straßendaten Die in StreetMap Premium for ArcGIS Runtime verfügbaren Daten sind auch dann verfügbar, wenn keine Verbindung zum Internet besteht. So können Nutzer auch im Außendienst oder Bereichen mit schlechter oder keiner Internetverbindung bequem auf die Grundkarten, Geokodierungsfunktionen und Routing-Funktionalität zugreifen. Ein weiterer Vorteil ist die reduzierte Datenmenge, die übertragen werden muss – dies spart Kosten. Apps für den Einsatz in der ganzen Welt Die Daten und Karten von StreetMap Premium for ArcGIS Runtime sind für die ganze Welt verfügbar. Mobile Kartenpakete für unterschiedlichste Gebiete, z. B. Regionen oder Länder, lassen sich damit in Apps einbinden. Download und Lizenzierung ArcGIS Entwickler können mit StreetMap Premium for ArcGIS Runtime ab der kostenlosen ArcGIS Developer Subscription „Essentials“ entwickeln und testen. Die Daten können in Form von Mobile Map Packages (.mmpk) für unterschiedliche Länder und Regionen im Downloadbereich des ArcGIS Developers Portals heruntergeladen werden: Für das Deployment der fertigen Apps muss StreetMap Premium for ArcGIS Runtime als Extension zu ArcGIS Runtime lizenziert werden. Der oder die Lizenzschlüssel (lizenziert wird per Region) werden dazu auch im Code wie eine Extension implementiert. Mehr Informationen zur Vorgehensweise hier am Beispiel des ArcGIS Runtime SDK for .NET. Implementierung Das Implementieren und Nutzen von StreetMap Premium for ArcGIS Runtime ist intuitiv und in allen ArcGIS Runtime SDKs fast identisch: Öffnen des Mobile Map Packages: var mapPackage = await MobileMapPackage.OpenAsync(Path to mmpk); Nutzen der fertigen Map(s): var map = mapPackage.Maps[1];
Map = map; Nutzen des Locator Tasks für Geocoding/Reverse Geocoding usw.: await mapPackage.LocatorTask.LoadAsync();
var suggestions = await mapPackage.LocatorTask.SuggestAsync("Fechnerstrasse 8, Leipzig");
Nutzen des Transportation Networks für Routing: var routeTask = await RouteTask.CreateAsync(map.TransportationNetworks[0]); Mit dem ArcGIS Runtime SDK for .Net sieht es so aus (der Einfachheit halber alles in einer Methode): private async void CreateMmpkMap()
{
GraphicsOverlays[0].Graphics.Clear();
try
{
var mapPackage = await MobileMapPackage.OpenAsync(_baseDirectory.LocalPath + @"geodata\Germany.mmpk");
var map = mapPackage.Maps[1];
// Locator, just a test
await mapPackage.LocatorTask.LoadAsync();
var suggestions = await mapPackage.LocatorTask.SuggestAsync("Fechnerstrasse 8, Leipzig");
//do something with the suggestions
await map.LoadAsync();
//make sure the map loaded
if (map.LoadStatus != LoadStatus.Loaded) return;
// Routing
var routeTask = await RouteTask.CreateAsync(map.TransportationNetworks[0]);
// get the default route parameters
var routeParams = await routeTask.CreateDefaultParametersAsync();
// explicitly set values for some params
routeParams.ReturnDirections = false;
routeParams.ReturnRoutes = true;
routeParams.OutputSpatialReference = map.SpatialReference;
// create a Stop for my location
var myLocation = new MapPoint(1375470.8306, 6685056.1967, map.SpatialReference);
var stop1 = new Stop(myLocation);
var markerSym = new SimpleMarkerSymbol
{
Style = SimpleMarkerSymbolStyle.Circle,
Color = Colors.Red,
Size = 12
};
var pointGraphic = new Graphic(myLocation, markerSym);
_graphicsOverlays[0].Graphics.Add(pointGraphic);
// create a Stop for your location
var yourLocation = new MapPoint(1377231.148, 6687515.5736, map.SpatialReference);
var stop2 = new Stop(yourLocation);
pointGraphic = new Graphic(yourLocation, markerSym);
_graphicsOverlays[0].Graphics.Add(pointGraphic);
// assign the stops to the route parameters
var stopPoints = new List<Stop> { stop1, stop2 };
routeParams.SetStops(stopPoints);
var routeResult = await routeTask.SolveRouteAsync(routeParams);
// get the route from the results
var route = routeResult.Routes[0];
// create a graphic (with a dashed line symbol) to represent the route
var routeSymbol = new SimpleLineSymbol(SimpleLineSymbolStyle.DashDotDot, Colors.Red, 5);
var routeGraphic = new Graphic(route.RouteGeometry, routeSymbol);
// add the route graphic to the map view and zoom to its extent
_graphicsOverlays[0].Graphics.Add(routeGraphic);
map.InitialViewpoint = new Viewpoint(route.RouteGeometry, 0);
Map = map;
}
catch (Exception ex)
{
var text = ex.Message;
}
} Ergebnis
... View more
08-30-2017
07:52 AM
|
1
|
0
|
664
|
|
BLOG
|
ArcGIS Runtime ist eine Familie aus nativen SDKs zur Entwicklung von Geo-Apps für alle populären Mobile und Desktop Plattformen. Für Desktops gibt es mit dem Runtime Local Server ein zusätzliches SDK zur Implementierung von erweiterter Geo-Funktionalität. Mit diesen wollen wir uns in dem Blog näher beschäftigen: Was ist der ArcGIS Runtime Local Server? Wie der Name schon andeutet ist der Runtime Local Server ein lokal auf dem Gerät laufender Web GIS Server. Dieser wird aber nicht installiert, sondern zur Laufzeit der ArcGIS Runtime Anwendung als Prozess erzeugt und verwaltet. Wird die Anwendung beendet, beendet sich damit auch der Local Server. Pro ausgeführte Anwendung kann nur ein Local Server gestartet werden (Singleton Pattern), es können aber mehrere Anwendungen mit jeweils eigenem Local Server nebeneinander laufen. Die lokalen GIS Services für den Local Server werden auch zur Laufzeit erzeugt und verwaltet. Diese basieren auf lokalen Datenpaketen, welche zuvor mit ArcGIS Desktop erzeugt werden müssen. Genau wie in ArcGIS Online und ArcGIS Enterprise werden diese GIS Services über die ArcGIS Server REST API, also über URLs angesprochen. In ArcGIS Runtime ist es somit egal aus welcher Quelle ein GIS Service stammt, es können die gleichen Tasks und Layer auch dafür genutzt werden. Der Schwerpunkt des Runtime Local Server liegt ganz klar auf dem lokalen Geoprocessing. Hunderte Analyse Tools aus der ArcToolbox, mächtige Model Builder Analyse Modelle und auch eigene Python Skripte in ArcGIS Desktop können zu Geoprocessing Packages gekapselt und diese durch lokale Geoprocessing Services genutzt werden. Das ist der Schlüssel für hochspezialisierten ArcGIS Runtime Anwendungen auch für GIS-Experten. Es können noch weitere Typen lokaler Services erzeugt werden, dazu später mehr. Unterstütze Plattformen Folgende ArcGIS Runtime SDKs unterstützen den Runtime Local Server: ArcGIS Runtime SDK for Local Server Unterstützung für: Anmerkungen .NET · Windows (32/64 Bit) Es wird nur die WPF API unterstützt. Java · Windows (32/64 Bit) · Linux (64 Bit) MacOS wird nicht unterstützt. Qt · Windows (32/64 Bit) · Linux (64 Bit) Es wird nur die Qt/C++ API unterstützt. Weitere mögliche Zielplattformen der SDKs in der Tabelle und auch die ArcGIS Runtime SDKs for Android, iOS und macOS werden nicht unterstützt. Dies lässt sich auch nicht mit Cross-Platform Technologie (z.B. Xamarin oder QML API) umgehen. Download und Lizensierung ArcGIS Entwickler können mit dem Local Server ab der kostenlosen ArcGIS Developer Subscription „Essentials“ entwickeln und testen. Das ArcGIS Runtime Local Server SDK gibt es für Windows und Linux und wird im Downloadbereich des ArcGIS Developers Portals heruntergeladen. Die Lizenzstufe einer fertigen Anwendung mit Runtime Local Server Technologie hängt von der implementierten Funktionalität ab. Die Mindeststufe ist dabei ArcGIS Runtime License Level Standard. Für manche Funktionen wird zusätzlich noch die Analysis Extension benötigt. Für Geoprocessing Tools werden die benötigten Lizenzstufenstufen hier aufgeschlüsselt. Datenquellen und Funktionalität Map- und Geoprocessing Packages können im Moment nur in ArcMap erzeugt werden. Dabei ist folgendes zu beachten: Unter Customize > ArcMap Options > Sharing muss „Enable ArcGIS Runtime Tools“ aktiviert sein In den Wizards zum Erstellen der Packages muss “Support ArcGIS Runtime” aktiviert sein Infos zu Erstellen von Map Packages Infos zu Erstellen von Geoprocessing Packages Folgendes ist möglich (Auszug): Quelle Lokaler Service Funktionen (Auszug) Map package (.mpk) MapService/ FeatureService Dynamische Daten Rasterdaten Features & Tabellen Abfragen, Editierung Dynamic Layers (Hier grundlegende Infos des Konzeptes) Zugriff auf (ArcSDE) Datenbanken uvm Geoprocessing Package (.gpk) Geoprocessing Service https://developers.arcgis.com/net/latest/wpf/guide/local-server-geoprocessing-tools-support.htm Implementierung In der Dokumentation der ArcGIS Runtime SDKs for .NET/WPF, Java und Qt/C++ steht die Implementierung des ArcGIS Runtime Local Server ausführlich beschrieben. Hier die Kurzfassung: Download und Installation Erstellen eines Local Server Deployments für das Projekt (Welche Funktionalität soll genutzt werden!) Local Server Deployment Builder tool (Java und Qt) Deployment manifest file im Visual Studio Projekt (.NET) Im Code: Starten des Runtime Local Server Erzeugen und Starten von lokalen Services auf Basis von Packages Nutzen der lokalen Services in den entsprechenden ArcGIS Runtime Tasks und Layer Mit dem ArcGIS Runtime SDK for .Net am Beispiel eines einfachen Buffer Tools (Download) sieht es so aus: (a) Starten des Runtime Local Server private LocalServer _localServer;
private LocalGeoprocessingService _localGpService;
private async void StartLocalServer()
{
try
{
// Get the singleton LocalServer object using the static "Instance" property
_localServer = LocalServer.Instance;
_localServer.AppDataPath = @"D:\Temp\LocalServerData";
// Handle the StatusChanged event to react when the server is started
_localServer.StatusChanged += (sender, statusChangedEventArgs) =>
{
// Check if the server started successfully
if (statusChangedEventArgs.Status == LocalServerStatus.Started)
{
// Start specific local services here ...
InitializeGpService();
}
};
// Start the local server instance
await _localServer.StartAsync();
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
(b) Erzeugen und Starten eines lokalen Services auf Basis eines Geoprocessing Packages (Download) private async void InitializeGpService()
{
try
{
// Create a local GP service from a geoprocessing package on disk
_localGpService = new LocalGeoprocessingService(@"data\simple-buffer.gpk");
// Handle the status changed event to check when it's loaded
_localGpService.StatusChanged += (svc, args) =>
{
// If service started successfully, create a gp task
if (args.Status == LocalServerStatus.Started)
{
//do something, if needed
}
};
// Start the local geoprocessing service
await _localGpService.StartAsync();
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
(c) Nutzen des lokalen Services mit einem Geoprocessing Tasks private async void MyMapViewOnGeoViewTapped(object sender, GeoViewInputEventArgs e)
{
var gpUri = new Uri(_localServer.Services[0].Url.AbsoluteUri + "/SimpleBuffer");
// Create parameters, run the task, process results, etc.
// ...
var geoprocessorTask = await GeoprocessingTask.CreateAsync(gpUri);
var parameter =
new GeoprocessingParameters(GeoprocessingExecutionType.AsynchronousSubmit)
{
OutputSpatialReference = MyMapView.SpatialReference
};
var myInputFeatures = new FeatureCollectionTable(new List<Field>(), GeometryType.Point, MyMapView.SpatialReference);
// Create a new feature from the feature collection table. It will not have a coordinate location (x,y) yet
var myInputFeature = myInputFeatures.CreateFeature();
// Assign a physical location to the new point feature based upon where the user clicked in the map view
myInputFeature.Geometry = e.Location;
// Add the new feature with (x,y) location to the feature collection table
await myInputFeatures.AddFeatureAsync(myInputFeature);
parameter.Inputs.Add("InputFeatures", new GeoprocessingFeatures(myInputFeatures));
parameter.Inputs.Add("Distance", new GeoprocessingLinearUnit(1000, GeoprocessingLinearUnits.Kilometer));
GeoprocessingJob job = geoprocessorTask.CreateJob(parameter);
try
{
// Execute analysis and wait for the results
var analysisResult = await job.GetResultAsync();
var outputFeatures = analysisResult.Outputs["BufferOutput"] as GeoprocessingFeatures;
}
catch (TaskCanceledException cancelledException)
{
// This is thrown if the task is cancelled.
MessageBox.Show(cancelledException.Message);
}
catch (Exception exception)
{
MessageBox.Show(exception.Message);
}
}
Ergebnis Resümee Mit der Local Server Technologie können fokussierte ArcGIS Runtime Anwendungen mit Werkzeugen aus ArcGIS Desktop für den GIS-Expertenbereich erstellt werden. Weiterhin gibt es die Möglichkeit, direkt auf Daten einer SDE zuzugreifen, viele verschiedene lokale Datentypen zu nutzen und vieles mehr. Und das mit modernster Technologie (64 Bit, Asynchron usw.) für verschiedene Desktop Plattformen. Wenn das nicht Grund genug für ArcGIS Engine/ArcObjects Entwickler ist …
... View more
08-15-2017
08:34 AM
|
2
|
2
|
1567
|
|
POST
|
Thomas Felber, IT Manager - Hydrogen Mobility, Linde AG, talks at GeoDev Meetup 3 2017 - Maps for Everybody (hosted by Google) in Munich. "BeeZero® is the world's largest and friendliest car sharing with hydrogen. With BeeZero, a new environmentally friendly and modern form of mobility comes into the city. Thanks to the innovative hydrogen technology, we help you to reduce pollutants and traffic noise without sacrificing the convenience of a car. Learn about how we built a fully functional car sharing system within 100 days from scratch. In this talk you will also hear about the telematics used to operate and maintain to cars, the challenges we faced around map visualization and why we decided to start from scratch. Bee part of it, Beezero."
... View more
08-08-2017
09:53 AM
|
0
|
0
|
2038
|
|
POST
|
Prof. Dr. Mark Vetter, Cartography and Geovisualisation, Hochschule Karlsruhe, talks at GeoDev Meetup 3 2017 - Maps for Everybody (hosted by Google) in Munich. "The use of digital maps in smartphones will have an impact on our spatial orientation skills and our map reading competence. Therefore, we conducted a study with Munich high school students in the years 2013 and 2015 to reveal and quantify these changes. What could possibly be done in future school lessons to avoid further loss of this cultural competence?"
... View more
08-08-2017
09:47 AM
|
1
|
0
|
1428
|
|
POST
|
Matthias Buehler, CEO & Founder vrbn AG, Switzerland, talks at GeoDev Meetup 3 2017 - Maps for Everybody (hosted by Google) in Munich. "Mapping is an inherently graphical & therefore creative task, where everybody may need individual, tailor-made solutions. In this presentation, Matt shows examples of his work of creating 3d maps, where he's leveraging cutting edge technology and scripted workflows for historic reconstructions, city planning scenarios and the creation of entirely fictional environments."
... View more
08-08-2017
09:33 AM
|
0
|
0
|
1404
|
|
BLOG
|
Mit dem Major Release von ArcGIS Pro 2.0 mit vielen spannenden Neuerungen wurde auch ein zugehöriges ArcGIS Pro 2.0 SDK veröffentlicht. Mit diesem SDK können .NET Entwickler eigene individuelle Werkzeuge und Workflows für ArcGIS Pro erstellen. Migration ArcGIS Pro 2.0 ist ein „breaking change“ Release. Add-Ins und Konfigurationen, welche mit der Version 1.4 oder davor entwickelt wurden, müssen neu kompiliert werden. Dabei sind gegebenenfalls folgende Dinge zu beachten/fixen: ArcGIS Pro .NET Assemblies sind nun strong-named Einige API Komponenten haben sich geändert, z.B. sind viele ehemals asynchrone Methoden nun synchron ArcGIS Pro WPF styles, brushes und colors wurden umbenannt Highlights Neue Klassen und Methoden für den Umgang mit Raster, Geodatabase, Mapping, Geometry, Content Management und Editieren Visual Studio 2017 Support Viele Samples und Guides auf GitHub Ausführliche Informationen zu allen Neuerungen des ArcGIS Pro 2.0 SDKs findet Ihr in diesem News Blog von Esri Inc. und in der ArcGIS Pro 2.0 API Reference.
... View more
07-19-2017
06:46 AM
|
1
|
0
|
464
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 08-09-2024 01:00 AM | |
| 1 | 02-06-2024 07:07 AM | |
| 1 | 03-31-2023 01:11 AM | |
| 1 | 07-26-2023 05:57 AM | |
| 1 | 03-25-2022 03:59 AM |
| Online Status |
Offline
|
| Date Last Visited |
10-07-2025
05:23 AM
|