IDEA
|
Hello Shane, this feature should be possible with the 10.7.1 version of ArcGIS GeoEvent Server via the Kafka transport. I will follow-up with a blog post on the pertinent workflow soon.
... View more
05-23-2019
07:26 AM
|
0
|
0
|
660
|
POST
|
Hi Norbert, Thanks for the response. I cannot guarantee that users will get the debug symbols on the release date or even the next day after but I can assure you we will work on getting the files to users as and when they are available. Also, your suggestion on using MyEsri in distributing the files sounds quite reasonable to me. In fact I will be discussing it with all involved in order to ensure we can do that without any issues. I will let you know on this thread if that is a plausible alternative. Kind Regards, Kwasi
... View more
08-02-2018
07:10 AM
|
0
|
4
|
2093
|
POST
|
Hi Thornsten, As Eric indicated in the first response, we (Esri Support) have a process in place to get you the required files. An analyst will reach out you on the specified case to get the right information so we can quickly get the debug symbols to you. Regards, Kwasi
... View more
08-02-2018
06:39 AM
|
1
|
6
|
2093
|
POST
|
Hi Ranga, you can obtain the hDC from the active viewer of whatever control (MapControl or GlobeControl) you are working with For MapControl: IMapControl.getActiveView.getScreenDisplay.geHDC For GlobeControl: IGlobeControl.getGlobeDisplay.getActiveViewer.getHDC
... View more
03-21-2018
11:20 AM
|
0
|
1
|
457
|
BLOG
|
The release of version 100.x of the ArcGIS Runtime SDK brought with it a plethora of advantages and advancements. Among these is the loadable pattern for asynchronous resources. This pattern provides a common theme for resources in loading metadata in an asynchronous manner in the ArcGIS Runtime API across all the supported platforms. Hence resources that lend to this pattern are referred to as "loadable". This coding pattern also provides an important mechanism to retry loading in the event that something goes wrong and the initial loading fails. This is particularly critical in cases where resources are accessed over a network (which is basically the majority of cases in an enterprise-GIS infrastructure). Developers do not need to worry about concurrency issues as the pattern handles concurrent and repeated requests when loading resources in order to account for cases where the same resource instance is to be shared around different parts of an application. One can cancel loading a resource in the event of a slow response or simply access the loading state (load status) of the resource with the getLoadStatus method on the Loadable interface. This returns the status of the loadable resource which can then be used for decisions ranging from informing the app-user of an operation's state, allow for providing logic to retry loading, writing easily debuggable code etc. One of these decisions is illustrated in the code snippets below; /** * Load geodabase file from disk; add a listener, check load status and make appropriate decision */ Geodatabase geodatabase = new Geodatabase(selectedFile.getAbsolutePath()); geodatabase.loadAsync(); geodatabase.addDoneLoadingListener(()->{ if(geodatabase.getLoadStatus() == LoadStatus.LOADED){ List<GeodatabaseFeatureTable> listOfFeatureTables = geodatabase.getGeodatabaseFeatureTables(); featureLayer = new FeatureLayer(listOfFeatureTables.get(0)); //instance variable instantiation featureLayer.loadAsync(); }else if(geodatabase.getLoadError() != null) featureLayer.retryLoadAsync(); }); This code is part of a larger demo application meant to illustrate some of the powerful features of the ArcGIS Runtime SDK. You can fork the repo at GitHub - mrasante/LoadableDemo. Please note that this is a bigger application meant to demonstrate the power of the ArcGIS Runtime platform as relates to the loadable pattern, so certain aspects might not be necessarily relevant to the pattern itself. Nonetheless it serves a the purpose of showing the pattern in a working application. Give it a try; post issues, comments, complaints, critiques etc. You can also catch me live at DevSummit 2018 – Palm Springs, CA; stop by during my demo theater presentation (https://devsummit2018.schedule.esri.com/schedule/2079770770) which will feature some focus on the loadable and task-jobs paradigm in the Runtime SDK. The completed code used for the dev summit presentation is now updated at the above github repo. Please fork it and try it out; as I indicated earlier, you can report issues or areas you need further explanation on and I will do my best to respond as soon as possible.
... View more
03-13-2018
05:00 AM
|
1
|
0
|
458
|
POST
|
Hi Wu, You are welcome; I am glad the snippet was helpful in achieving your goal. As far as field work is concerned you have the option of developing your own app with the ArcGIS Runtime Android SDK (that will require some android/java development skills/knowledge). A better option for non-developers is using one of Esri excellent apps. For the tasks you have described I will recommended Collector for ArcGIS (Collector for ArcGIS - Collect & Update Data in the Field | Esri ). I am roping in on Philip Mcneilly; he is better placed than I am to give you the right information on Collector. If you are still interested in pursuing the development of your own application, I will advise you log a case with Technical Support and we will guide you in using the runtime SDKs. Regards
... View more
02-28-2018
05:25 AM
|
0
|
1
|
1513
|
POST
|
Hi Wu, I tested with the same code snippet I gave you in my previous post and I was able to load and display the shapefile on the map; see attached snapshot below is the code snippet I used. private void loadShapeFileAndDisplay(String location){
ShapefileFeatureTable featureTable = new ShapefileFeatureTable(location);
featureTable.loadAsync();
featureTable.addDoneLoadingListener(()->{
if(featureTable.getLoadStatus() == LoadStatus.LOADED){
FeatureLayer featureLayer = new FeatureLayer(featureTable);
featureLayer.loadAsync();
mMapView.getMap().getOperationalLayers().add(featureLayer);
}else
Log.e("Load Error: ", featureTable.getLoadError().getAdditionalMessage());
});
} I hope this helps in resolving your issue. Let me know if you run into further problems.
... View more
02-27-2018
12:26 PM
|
2
|
1
|
1513
|
POST
|
Hello Wu, you can add the following to your build.gradle file (within the android block) to allow for supporting lambda expressions in your android code. compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
} I will test with your data soon and let you know what I find. Kwasi
... View more
02-27-2018
10:39 AM
|
0
|
0
|
1513
|
POST
|
Hi Wu, Please use the following code snippet to check the state of the ShapefileFeatureTable object reference and report any errors you might see. If you are unable to implement it please share your data if that's possible. That will allow me to investigate a bit further to give you better feedback. ShapefileFeatureTable shapefile = new ShapefileFeatureTable(PATH_TO_SHAPEFILE); shapefile.addDoneLoadingListener(()->{ if(shapefile.getLoadStatus() == LoadStatus.NOT_LOADED || shapefile.getLoadStatus() == LoadStatus.FAILED_TO_LOAD){ System.out.println("Unable to load shapefile due to: "+ shapefile.getLoadError().getAdditionalMessage()); shapefile.retryLoadAsync(); // retry the loading operation } });
... View more
02-27-2018
08:22 AM
|
0
|
3
|
1513
|
POST
|
Hi Wu, You need to call loadAsync() on the FeatureLayer before adding it to the map. So make the following correction in your code. FeatureLayer featureLayer = new FeatureLayer(shapefileFeatureTable_geo); featureLayer.loadAsync(); //needed correction featureLayer.setRenderer(new SimpleRenderer(new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.CIRCLE, Color.RED, 10))); map.getOperationalLayers().add(featureLayer); The FeatureLayer class abstracts a loadable resource and hence implements the Loadable interface. Please have a look at the guide on the Loadable pattern for asynchronous resources—ArcGIS Runtime SDK for Android | ArcGIS for Developers
... View more
02-27-2018
05:23 AM
|
0
|
5
|
1513
|
POST
|
Hi Shiva, you may use the DictionarySymbolStyle class (DictionarySymbolStyle| arcgis-java) to achieve the same results. In using that class ensure you have the right specification type in the constructor. I put the below code snippet together for illustration. private void loadSymbolStyle(String PATH_TO_SYMBOL, String PATH_TO_A_SHAPEFILE) { List<String> keys = new ArrayList<>(); keys.add("key1"); keys.add("key2"); ShapefileFeatureTable shapefile = new ShapefileFeatureTable(PATH_TO_A_SHAPEFILE); FeatureLayer featureLayer = new FeatureLayer(shapefile); featureLayer.loadAsync(); DictionarySymbolStyle dictionarySymStyle = new DictionarySymbolStyle("mil2525d", PATH_TO_SYMBOL); dictionarySymStyle.loadAsync(); dictionarySymStyle.addDoneLoadingListener(() -> { if (dictionarySymStyle.getLoadStatus() == LoadStatus.LOADED) { System.out.println("Loaded!!!"); symbolFuture = dictionarySymStyle.getSymbolAsync(keys); try { Symbol symbol = symbolFuture.get(); featureLayer.setRenderer(new SimpleRenderer(symbol)); mapView.getMap().getOperationalLayers().add(featureLayer); //add loaded layer to map mapView.setViewpointGeometryAsync(featureLayer.getFullExtent(), 100); //zoom to extent } catch (InterruptedException | ExecutionException inEx) { System.out.println("Get Exception: " + inEx.getMessage()); } } else { System.out.println("Load Error: " + dictionarySymStyle.getLoadError().getAdditionalMessage()); //use this for debugging your code } }); }
... View more
02-27-2018
05:13 AM
|
0
|
0
|
248
|
POST
|
Hi Kevin, try running the application with the following vm argument, -Xss2m; if you still see the crash try increasing the size value
... View more
03-25-2016
07:05 AM
|
0
|
0
|
1091
|
POST
|
Hi Viji, ArcMap is shipped with the version of a jre which basically provides the runtime for java addins. Please ensure that the version of jdk you develop the addin with in eclipse is compatible with the one in ArcMap. By compatible I mean, your jdk should be 32-bit and should be the same version or lower than the one ArcMap comes with (please check the ff links for system reqs. ArcObjects SDK 10.3.x system requirements—Help | ArcGIS for Desktop). To determine the version of jre ArcMap is shipped with, open a command prompt and navigate to <ArcMap install location>\java\jre\bin and type the command "java -version" (without the quotes of course). This should tell you the version of java ArcMap comes with. You may then download a suitable jdk and change the jdk in your build path in eclipse to reflect the compatible one. Once you export (with the compatible jdk) and install your addin, you should locate it in the customize window under the right categories in ArcMap.
... View more
03-25-2016
05:38 AM
|
0
|
0
|
277
|
POST
|
JavaFX introduces the SwingNode class; this class generally enables developers to add swing content in JavaFX applications. You can find the class in the JavaFX API at javafx.embed.swing. This makes it very easy to embed Esri Java Runtime SDK content such as JMap (a swing class) in JavaFX application. Please find the below code snippet. package com.esri.support.javafxeg; import javafx.application.Application; import javafx.embed.swing.SwingNode; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import com.esri.map.JMap; import com.esri.map.MapOptions; import com.esri.map.MapOptions.MapType; public class JavaRuntimeJavaFXExample extends Application { @Override public void start(Stage primaryStage) { final SwingNode swingNode = new SwingNode(); MapOptions mapOptions = new MapOptions(MapType.TOPO); JMap map = new JMap(mapOptions); swingNode.setContent(map); StackPane pane = new StackPane(); pane.getChildren().add(swingNode); primaryStage.setTitle("Esri Java Runtime and JavaFX: a match made in Heaven!"); primaryStage.setScene(new Scene(pane, 600, 350)); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
... View more
08-27-2014
05:32 AM
|
1
|
0
|
525
|
Title | Kudos | Posted |
---|---|---|
1 | 08-02-2018 06:39 AM | |
1 | 03-13-2018 05:00 AM | |
2 | 02-27-2018 12:26 PM | |
1 | 08-27-2014 05:32 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|