Tag Info

Hot answers tagged

14

This is a good question. While I like REST, I don't see a way to request Z and M values for geometries. It looks like this is possible with SOAP using the PointN object. It would be great to see this question evolve to list more differences. Another factor is what clients you need to support - if it's just Silverlight, then SOAP is a lot more attractive. ...


11

There are many things you can do with the GeoServer REST API that are not specifically documented and that there are not code examples for. Here's the strategy for tackling those. First, start with the examples in the documentation. Make sure you are familiar with how you can create a simple new layer or workspace using an HTTP POST with either XML or JSON. ...


8

I just used the link Jason posted above. I can't imagine when its released, the official spec will be much different. It was mostly a roll-up-your-sleeves, fire up Fiddler, hit the 10.0 sample servers and start hacking away at the implementation. There's nothing that's impossible, just tedious with lots of little issues to take into account. We won't even ...


7

The only documentation that I know of for esri's REST API is in their online help here: http://help.arcgis.com/EN/arcgisserver/10.0/apis/rest/index.html This is written more from the perspective of a consumer than a provider, but should be hackable. There are parts of this API that are quite proprietary (some of the output formats) and impossible ...


7

You can create a workspace, datastore and layer (coveragestore) for a GeoTiff with curl and xml from outside the UI like so: Create the workspace. curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' \ -d '<workspace><name>wsgeotiff</name></workspace>' \ http://localhost:8080/geoserver/rest/workspaces Then ...


6

REST - Representational State Transfer REST basically means that each unique URL is a representation of some object. You can get the contents of that object using HTTP GET, to delete it, you then might use a POST, PUT, or DELETE to modify the object (in practice most of the services use a POST for this). SOAP - Simple Object Access Protocol SOAP is mostly ...


6

At a previous clients, we looked at this for ages and the long and the short of it, for them, was that SOAP has too much development lead time, and REST was easy for an organisation to implement. It cna be argued SOAP aren't actually web services too... Here's some arguments for you: SOAP/REST


6

You should have a look at the REST Help for GP Task To run the geoprocessing task, you need to provide an input. If your GP Service is Synchronous, then you need to call the Execute Operation. If your service is Asynchronous, then you need to call the SubmitJob Operation. Both of them take their input parameter in JSON Format. In the case of a Synchronous ...


5

Stick to a single where parameter in your query string. Here's an example of a where clause hitting multiple fields: ...


5

The bound variable key takes the form of the resource name + "ID". This is not very clearly stated in the conceptual document you linked to, but I remember seeing it somewhere. EDIT: See this PDF, slide number 45. Resources seem to be always identified by their identifier (id), which is ok, but I personally find this string-convention-based design very ...


4

The REST legend service was added in Service Pack 1. Has this server had Service Pack 1 installed? It appears that it has not. 'currentVersion' was added to serveral resources to indicate the version and patch level. See the latest ArcGIS 10 API documentation for more details.


4

You have not stated what version of ArcGIS Server you are running. If you are on 9.3.1 your stuck with the WKIDs that REST supports: Projected Geographic The other option (which I have done before) is submit a WKID request to Esri Support. For me, we sent them the projection file and they created a NIM, and at the next version it was included. I know ...


4

Have you tried any of the configuration examples in the docs (here)? You can access layer information through e.g. http://localhost:8080/geoserver/rest/layers/giant_polygon.html Publishing a shapefile works like this: Consider a directory on the server /data/shapefiles/roads that contains the Shapefile roads.shp. The following adds a new datastore for the ...


4

It's harder than it sounds. Django Models are, at the moment, pretty tied to a SQL database world and the Admin is, in turn, pretty tied to Django models. Your best bet is probably to look at something like Django-nonrel http://www.allbuttonspressed.com/projects/django-nonrel


4

Use esri.request() to hit each layer's REST endpoint to get info about fields. Here's a simple example: <html> <head> <script type="text/javascript">var djConfig = {parseOnLoad: true};</script> <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.4"></script> <script ...


4

It's hard, but not impossible, to hide a password, even from root. The trick is to save the password in a password protected keyring (like the Gnome Keyring), unlock the Keyring once and then (from the same session!) run a script like the following (written in python). Please note that even if root can su to your account he still cannot open the Keyring ...


4

You'll be able to in 10.1 SP1. When you run a geoprocessing tool in Python, its return value is a result object. There will be a new arcpy.CreateGPSDraft function what accepts these result objects and from there the workflow from Python will be exactly the same as it is with map services now.


4

Unless your app is written in Java then the REST approach is the most elegant as it can be coded in any language that has an HTTP lib (all of them). Any solution using selenium or something similar should be an absolute last resort, changes to the REST API will likely remain backward compatible so you can upgrade GeoServer with confidence, the UI will ...


4

It's a combination of two things really. 1) How much information can your server handle sending at a given time. 2) How much information can your client handle displaying. I can't answer "why" 1000. A good a guess as any, 1000 individual features drawn on a webmap would really tax the web browser and performance would suffer (a few years back). You can make ...


4

You can use the Identify Operation on the Mapservice to get the pixel values from the raster. Using the Identify Operation on a map service with Rasters, I can get both the Pixel value, as well as the stretched values:


3

You'll need a coverage store and coverages. A coverage store is a source of spatial data that is raster based. The data stores you tried to use are only for vector data. Have you checked How to use curl to upload Coverage through the Geoserver rest?


3

If you're willing to do something absolutely moderately awful, you could get the contents of that page as HTML, and then use jQuery to get the links: var extAnchors = $('b').filter( function( index ) { if( this.innerHTML.match( 'Supported Extensions' ) ) return true; } ).nextAll('a'); This gets all the anchor elements after the phrase ...


3

Looks like the whole Portland folder is gone from sampleserver2, and I didn't see any on ss1 or 3 either. Here are a couple async gp services used in the Silverlight API samples Clip Counties GPServer - used in this sample Buffer Points - not sure if there is a live demo


3

You can specify them exactly like they are specified in the datastore.xml. The REST api allows for multiple syntaxes in connectionParameters. The following syntaxes are equivalent: <port>5432</port> <entry key="port">5432</entry> You will find a description of what those additional parameters mean in the user guide.


3

Unfortunately the GML extension has more or less been abandoned due to lack of a maintainer for that extension. That said you can still upload GML as part of a WFS transaction. So a recipe that could work is to create a new empty layer (in postgis or something) via the REST api, and then issue WFS transactions to populate it.


3

The code below works for me. using System; using System.Text; using System.Net; using Newtonsoft.Json; using System.IO; using Newtonsoft.Json.Linq; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { try { string baseUrl = ...


3

Geoserver REST API can be constructed using Path GET (read) POST (create) PUT (update) DELETE (delete) http://geoserver.org/display/GEOS/User+Collaboration+REST+API for selecting a SLD you need to GET {yourserver} {port} {user} {password} /geoserver/rest/styles (exists already in rest api) This might help for you too ...


3

It's entirely possible, but nobody's done it yet. Arc2Earth uses an independent implementation of the Esri REST API to host on Google App Engine. And implementing the REST API makes it possible to do things like expose geoprocessing services and feature layers for analysis in ArcGIS Explorer.


3

I just tested a GET and POST request with my custom SOE, and it accepts both GET and POST requests just fine without any special configuration. postOnly=true as you know will force POST only requests, and should be used when data is modified. What kind of a response do you get when you try and submit a POST request to your SOE?


3

To check if the service is secured from the GIS Tier, you can use the ArcGIS for Server Admin API. Query the REST end point is this http://yourserver:6080/arcgis/admin/services/yourservice.MapServer/permissions If the REST end point returned "esriEveryone", it means it is public. Else it will return the permitted Roles or Group who can access this ...



Only top voted, non community-wiki answers of a minimum length are eligible