Dear Runtime Team,
Below, I would like to share my thoughts about the new Runtime release and also ask about some new specific features.
1) Raster data support
It is great to see that no more World files are required to display GeoTiff and NITF files. Also, on-the-fly datum transformation and reprojection are now supported. It would be great, if you could add the latter to the documentation: Spatial references—ArcGIS Runtime SDK for Java | ArcGIS for Developers
Probably, for the most of users, the list of supported formats is sufficient, but in my scenario, I would like to being able to consume METOC data i.e. GRIB, NetCDF and Drone Imagery as well. Thus, this is leading me to the following question:
a) Is there any option you consider adding Image Service capability to the Local Server? Being able to directly add/register new rasters to the shared mosaic dataset, bypassing mobile mosaic dataset, would be great advantage. Also, performing raster analysis using raster functions would be an another asset for the users. I suppose, at some point in the future, all of these would be supported natively. What are your plans for supporting more raster formats?
2) Geoprocessing
Can you provide any sample showing how to properly initialize FeatureCollectionTable in order to pass it to the GeoprocessingFeatures? Or, there is another, simpler option? Also, I am glad to see that resulting map service with raster data does not crash on my machine.
3) Symbols and renderers
a) What model formats , apart from .dae, are supported for ModelSceneSymbol?
b) Will you support Military Overlay point clustering/aggregation?
c) Will you open the rule engine specification for dictionary renderer, so developers could leverage their customs symbols within ArcGIS Runtime?
4) Layers
a) Will you support displaying shapefile? Default reprojection and retrieving field names are also very welcome.
b) What OGC layers (along with their capabilites) will be supported? I would be nice to have a WMS, WMTS and WFS fully support in ArcGIS Runtime.
Many thanks in advance for the answers,
Adam
Here is how you can create a feature collection table and add a feature to use with Geoprocessing. In a future release it should be possible to get default parameter values from the service reducing how much code you would need but at 100.0.0 the following is what you need.
GeoprocessingFeatures featuresParam = new GeoprocessingFeatures();
// create a table
final ArrayList<Field> fields = new ArrayList<Field>();
fields.add(Field.createString("MyString", "MyString", 50));
fields.add(Field.createShort("MyShortInt", "MyShortInt"));
fields.add(Field.createInteger("MyLongInt", "MyLongInt"));
fields.add(Field.createFloat("MyFloat", "MyFloat"));
fields.add(Field.createDouble("MyDouble", "MyDouble"));
fields.add(Field.createDate("MyDate", "MyDate"));
FeatureCollectionTable table = new FeatureCollectionTable(fields, GeometryType.POINT, SpatialReferences.getWebMercator());
// create a feature in the table
Feature feature = table.createFeature();
feature.setGeometry(new Point(0.0, 0.0, SpatialReferences.getWebMercator()));
feature.getAttributes().put("MyString", "string");
feature.getAttributes().put("MyShortInt", (short) 1);
feature.getAttributes().put("MyLongInt", 100);
feature.getAttributes().put("MyFloat", 1.5f);
feature.getAttributes().put("MyDouble", 100.5);
feature.getAttributes().put("MyDate", new GregorianCalendar());
try {
table.addFeatureAsync(feature).get();
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
// set the table into the GP parameter
featuresParam.setFeatures(table);
Thanks Colin for the snippet.
Regards,
Adam
3) Symbols and renderers
a) What model formats , apart from .dae, are supported for ModelSceneSymbol?
http://www.assimp.org/main_features_formats.html, here you can find a list of the supported formats for a ModelSceneSymbol.
Hi Johnathon,
thanks for your valuable input. One by one, I receive some good answers;-)
Regards,
Adam
"b) Will you support Military Overlay point clustering/aggregation?"
Probably not for a while.
"c) Will you open the rule engine specification for dictionary renderer, so developers could leverage their customs symbols within ArcGIS Runtime?"
We will provide a way for users to develop their own custom symbols soon, with the help of ArcGIS Pro.
"a) Will you support displaying shapefile? Default reprojection and retrieving field names are also very welcome."
Yes. Sometime in 2017.
"b) What OGC layers (along with their capabilites) will be supported? I would be nice to have a WMS, WMTS and WFS fully support in ArcGIS Runtime."
WMTS and WMS layers will come first. All capabilities that were there in previous versions.
WMTS will be in Update 1.
Working on WMS as we speak, but not sure yet if this is Update 1 or Update 2 (2017).
We are hoping to add WFS support in a future release.
Adam, as always, your questions and feedback are gold to us. Thank you again.
Eric,
Great news for the New Year! Thank you for these.
Just to clarify - "c) Will you open the rule engine specification for dictionary renderer, so developers could leverage their customs symbols within ArcGIS Runtime?"
Being able to create custom symbols is one thing, another one is to specify how to display them. I meant rather rule engine, so I could prepare my own logic of parsing symbol id's and matching them to corresponding symbol layers. What would open up many new, situation awarness workflows in Runtime.
Also, could you please refer to Local Image Service support as mentioned in 1 a, if possible?
Regards,
Adam
Hey Adam,
What if you were able to access raster files, including raster mosaics, without Local Server? Wouldn't you want to be able to directly read, query, perform raster functions, and apply rendering to those, instead of having to use the overhead of Local Server?
We're moving to a point where the power of the Local Server will focus more on analytics and geoprocessing, primarily. Since maps, feature data, raster data, symbology, Network, search and geocoding, all of that are no longer dependent on Local Server, it comes down to locally-used advanced GP.
Let me know if this helps.
Eric,
Based on what you said, we can expect such functionality in the near future. Great to hear that!
Regards,
Adam