GUI-less option

670
3
Jump to solution
08-04-2020 11:58 AM
TravisDillon
New Contributor

Hello

Are there any SDK options (Java and/or non-Java) that can be used without a GUI.  For example, a process running on a server that can render complex maps and save them as images to a database.  I'm currently unable to use the Java SDK due to it's JavaFX requirement on the MapView class.  My current environment is fairly restrictive and I'm unable to get around the JavaFX requirement.  It would be nice if there was a "View" class that had similar capabilities to the MapView class, but it's sole purpose was to render the View to various image formats instead of to the JavaFX Stage.

Thanks

--
Travis Dillon

0 Kudos
1 Solution

Accepted Solutions
Nicholas-Furness
Esri Regular Contributor

Hi Travis Dillon,

Unfortunately Runtime isn't going to fit the bill here. As Mark mentioned it's not built for a server-side environment and while you might technically get it to work in limited use-cases, it is currently against our terms.‌

After asking around a bit, it seems perhaps the best option would be to publish a GeoProcessing tool to ArcGIS Server.  There should be GP tools available for you to publish a GP service from Pro that does what you're after (reading KML to Feature Classes, rendering maps, outputting PDFs/images etc). Or instead of publishing a GP service, you could build a Python script to run on an ArcGIS Server machine, but either way you would need a regular VM with ArcGIS Server installed.

Sorry I don't have a better answer than that, but I hope that helps some.

Nick.

View solution in original post

0 Kudos
3 Replies
MarkBaird
Esri Regular Contributor

Hi Travis,

I need to understand a little more about what you are trying to achieve here.  The Runtime SDK for Java is a client side SDK for the purpose of writing JavaFX desktop applications.  Although it might be technically possible to use the SDK for a server side component, this isn't the intended use-case.

I'm sure we've got a good solution for you, but we need to better understand what you are trying to achieve here.

If you give us some more details, we'll guide you to the best solution.

Thanks

Mark

0 Kudos
TravisDillon
New Contributor

Mark Baird

My use-case is a server side process (e.g., batch job, command line app, CLI) to be executed which creates images of maps from user provided data (e.g., KML files).  The images would be created at different sizes (for specific print formats) and with various base maps.

My target environment is Docker which struggles with JavaFX.  I'm open to a non-Java approach if one is available.

--
Travis

0 Kudos
Nicholas-Furness
Esri Regular Contributor

Hi Travis Dillon,

Unfortunately Runtime isn't going to fit the bill here. As Mark mentioned it's not built for a server-side environment and while you might technically get it to work in limited use-cases, it is currently against our terms.‌

After asking around a bit, it seems perhaps the best option would be to publish a GeoProcessing tool to ArcGIS Server.  There should be GP tools available for you to publish a GP service from Pro that does what you're after (reading KML to Feature Classes, rendering maps, outputting PDFs/images etc). Or instead of publishing a GP service, you could build a Python script to run on an ArcGIS Server machine, but either way you would need a regular VM with ArcGIS Server installed.

Sorry I don't have a better answer than that, but I hope that helps some.

Nick.

0 Kudos