|
POST
|
Hi, I have a customer who intends to use ArcGIS for Collector for information collection using maps in ArcGIS Portal. Client is configuring portal with SAML identity provider and wants to know if Collector can work with it or does it require built-in log-ins. Does anyone know? Thanks in advance. Cheers, Vish
... View more
08-16-2015
04:44 PM
|
0
|
9
|
7576
|
|
POST
|
Hi, I have a customer who intends to use ArcGIS Collector for information capturing. The data being collected is very sensitive. The client may sometimes operate in an offline mode, downloading data for a specific area, collect/edit it and then upload it back. Client wants to know what security is available for the offline data stored on the device such as iPad. Is the information encrypted in anyway that only Collector and/or that particular device can access it? Do we know what format this data resides in? FGDB / Runtime Geodatabase / PostgreSQL etc? Any information will be much appreciated. Thanks, Vish
... View more
08-11-2015
10:24 PM
|
0
|
1
|
3340
|
|
POST
|
Hi All, I have a query regarding ArcGIS Online REST API. We have few AGOL feature services that will be maintained using addFeatures, updateFeatures, deleteFeatures, query and createReplica operations. Feature services are private so token will be passed as parameter using generateToken API. Most of these REST methods accept parameters and response can be a JSON if format parameter is set to json. However, REST API does not seem to accept content-type of application/json in the header of the REST request with parameters passed as json object. Using some trial python script below, I discovered only way to pass parameters to REST calls such as generateToken is using application/x-www-form-urlencoded as Content-type. Same is applicable to response of the REST call. It is always text/plain and not application/json. Is this intended? Using application/json in request and response is much more programming friendly rather than form parameters or plain text response. Cheers, Vish #------------------------------------------------------------------------------- import json import urllib, urllib2, urlparse import os, sys import traceback def get_response_form(url, query='', get_json=True, exit_on_error = False): encoded = urllib.urlencode(query) request = urllib2.Request(url) request.add_header('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8') if get_json: response = urllib2.urlopen(request, encoded) responseString = response.read() json_response = json.loads(responseString) if 'error' in json_response: if (exit_on_error == True): exit() else: return json_response else: return json_response return urllib2.urlopen(request).read() def get_response_json(url, query='', get_json=True, exit_on_error = False): request = urllib2.Request(url, data=None) request.add_header('Content-Type', 'application/json') if get_json: response = urllib2.urlopen(request, json.dumps(query)) responseString = response.read() json_response = json.loads(responseString) if 'error' in json_response: if (exit_on_error == True): exit() else: return json_response else: return json_response return urllib2.urlopen(request, json.dumps(query)).read() def loginAGOL(AGOLTokenURL, username, password, expirationTime, refererURL): print "Generating token using Content-type as application/x-www-form-urlencoded..." JSONgenerateTokenRequest = {'username': username, 'password': password, 'expiration': expirationTime, 'client': 'referer', 'referer': refererURL, 'f': 'json'} token = '' try: response = get_response_form(AGOLTokenURL, JSONgenerateTokenRequest) if('token' in response.keys()): token = response['token'] print "Generated Token '%s'" %(token) else: print "Failed to generate token: %s" %(response) except Exception, ex: error = traceback.format_exc() print "Failed to generate token using application/x-www-form-urlencoded: %s." %(error) print "Generating token with same parameters using Content-type as application/json..." try: response = get_response_json(AGOLTokenURL, JSONgenerateTokenRequest) if('token' in response.keys()): token = response['token'] print "Generated Token '%s'" %(token) else: print "Failed to generate token: %s" %(response) except Exception, ex: error = traceback.format_exc() print "Failed to generate token using application/json: %s." %(error) return token def main(): if len(sys.argv) == 4: username = str(sys.argv[1]) password = str(sys.argv[2]) expiry = int((sys.argv[3])) URLAGOLToken = r"https://www.arcgis.com/sharing/rest/generateToken" token = loginAGOL(URLAGOLToken, username, password, expiry, "www.arcgis.com") else: print "Invalid number of parameters." print "Usage: %s <ArcGIS Online username> <ArcGIS Online user password> <expiration time in minutes>" %(os.path.basename(sys.argv[0])) sys.exit() if __name__ == '__main__': main() #-------------------------------------------------------------------------------
... View more
01-08-2015
10:18 PM
|
0
|
2
|
6911
|
|
POST
|
Hi, I have a query regarding the data stored by ArcGIS Online. I have uploaded a feature service and I am developing an integration application that queries, adds and updates the data using feature service REST end point. During "query", I specify where clause using a certain field. I have noticed that the performance is not optimal after loading some data. I want to know if there is any way to specify attribute index on certain field(s) in AGOL feature service. Or is it the case of back end database system automatically generates the indexes based on query statistics? Anyone knows? Cheers, Vish
... View more
12-10-2014
04:45 PM
|
0
|
1
|
6170
|
|
POST
|
Hi, I have a customer who has ArcGIS Online account. Customer wants to periodically download the data from ArcGIS Online in "Shapefile" format. I can see the option to export the data using ArcGIS Online Feature Service UI. However, I cannot find a REST endpoint that allows export. I am missing something or is it just not supported by REST interface. I have shown the customer createreplica endpoint but it does not serve the purpose as customer does not have ArcGIS Desktop to work with FGDB created. Only option I can think of is to use query interface to query and export as CSV or something. Is there any other suggestion? Regards, Vish
... View more
12-10-2014
03:32 PM
|
0
|
1
|
3751
|
|
POST
|
Hi, I am having a little issue in configuring AGOL map to be used in ArcGIS Collector app. The map will have base map from AGOL and an editable feature service that is hosted on client’s own ArcGIS Server 10.2.2. This ArcGIS Server is externally available through Microsoft ISA Reverse Proxy with Web Adaptor and ArcGIS Server sitting behind the firewall. Web Adaptor in IIS is set-up as Windows Authentication. The external URL is accessed using https protocol. Web Adaptor and ArcGIS server are also configured in https-only mode. ArcGIS Server security is configured in Windows Tier mode. The service I am testing is not secured at this time but eventually it will be. I can edit feature service data externally over REST API . Also add feature service to ArcMap running outside of the client's network, edit the data and sync it back. So it proves the set-up is correct. However, when I add this feature service to AGOL map, AGOL sends warning saying Layers - Collector_Trial_Dataset.Drainage - Collector_Trial_Dataset.WaterBody seem to be on an internal network and are not accessible to ArcGIS.com. Thus, editing will be disabled on these layers. However, AGOL shows the data in the map and I can identify/query it. So what causes AGOL to infer this feature service is on internal network? If I turn https to http all along and also set-up Web Adaptor in IIS to use anonymous authentication instead of Windows Authentication, editing works in AGOL. I have seen this thread below but I have also seen presentations that say Collector can consume secured feature services. How to edit SDE layers Any help to resolve this issue is greatly appreciated. Cheers, Vish
... View more
11-12-2014
03:41 PM
|
0
|
5
|
5273
|
|
POST
|
Hi, I am trying to create a ArcGIS Online feature service using ArcMap 10.2. The map document has only one layer with Point feature class as source. The feature class has approx 200,000 records. During the service creation, it gives message saying "uploading 13mb data to the server" and the upload finishes in chunks. It then says "server-side post processing" and this never finishes. Completion bar stays at approx 10% and never moves. I have waited for up to 2 hrs. I also tried to send this point feature class data as zipped FGDB in ArcGIS Online to create feature service. Zip size is 16mb and seem to upload ok. I can see the service now but the image says "Creating service" and it never finishes. I tried to click on the feature server url. Any REST operation such as createReplica etc against it fails with no meaningful message. Has anyone encountered similar error or problem. I tried to upload feature class with only handful records ( < 100). It seem to be successful. Have I hit a limit on my ArcGIS Online for Organisation data limit? Regards, Vish
... View more
11-11-2014
04:23 PM
|
1
|
1
|
2164
|
|
POST
|
Hi, I have a client who is using ArcGIS Collector application to collect data about water network assets such as valves and hydrants. Feature service used in the collector application are hosted in ArcGIS Online for Organisation. Customer wants to periodically download data collected to their local set-up as File Geo-database using createReplica REST end-point. However, customer does not want to download attachments right away as it amounts to gigs of data to be included in the FGDB. createReplica rest end-point has an option to "Return Attachments Data By URL". However it does not seem to work when downloading as FGDB. All attachments get packed into FGDB as BLOB. Is it by design or a bug? Regards, Vish
... View more
06-23-2014
03:06 PM
|
0
|
1
|
2097
|
|
POST
|
Hi, I know this has been asked multiple times in the past but I will ask again in case the answer has changed. Is it possible for ArcGIS Online for Organisation administrator to 1. Limit amount of credit available to individual user or group. 2. Limit amount of credit per analysis tool such as geocoding, routing etc. 3. Estimate credits to be used before execution of analysis tool. 4. Show actual credits consumed by analysis tool post execution. Regards, Vish
... View more
05-06-2014
06:41 PM
|
1
|
4
|
4011
|
|
POST
|
Hi, I have a GML file sourced externally. This GML file is accompanied by a .GFS file but not XSD file. I am trying to open this file in ArcGIS for Desktop 10.1 SP1 with Data Interop extension. But the Data Interop is unable to read the GML file. I tried using spatial ETL tool as well but it does not read any feature types from the GML file and complains about XSD file. See error log below. What I find is other GIS softwares such as QGIS etc. are able to import this GML file easily. Is this a known limitation of Data Interop to have XSD file with GML? Regards, Vish Starting Translation ... Feature Manipulation Engine 2012 SP1 (20120318 - Build 12229 - WIN32) Data Interoperability (node locked-crc) Permanent License. Machine host name is: LAP-303558 Copyright (c) 1994 - 2012 by Safe Software Inc. Safe Software Inc. Trying to find a DYNAMIC plugin for reader named `GML' Loaded module 'GML' from file 'C:\Program Files (x86)\Esri\Data Interoperability (x86)\plugins/GML.dll' FME API version of module 'GML' matches current internal version (3.7 20111219) The uri-map document 'C:\Program Files (x86)\Esri\Data Interoperability (x86)\xml\urimap\gml_aixm.xml' is being used to map from URI to URI The uri-map document 'C:\Program Files (x86)\Esri\Data Interoperability (x86)\xml\urimap\gml_citygml.xml' is being used to map from URI to URI The uri-map document 'C:\Program Files (x86)\Esri\Data Interoperability (x86)\xml\urimap\gml_inspire.xml' is being used to map from URI to URI The uri-map document 'C:\Program Files (x86)\Esri\Data Interoperability (x86)\xml\urimap\gml_urimap.xml' is being used to map from URI to URI URI 'TLS10.1_request.xsd' mapped to 'file:///C:/Projects/xxx/2CAM-02/TLS10.1_request.xsd' Parsing schema document 'file:///C:/Projects/Transfield/2CAM-02/TLS10.1_request.xsd' ... XML Parser error: 'Error at file:'' line-0 column:0 message:unable to open primary document entity 'C:\Projects\xxx\2CAM-02\TLS10.1_request.xsd'' An error occurred while attempting to parse the XML Schema document 'file:///C:/Projects/xxx/2CAM-02/TLS10.1_request.xsd' The XML Module halted on error, see the logfile for details Merged 0 schema features read from 1 datasets into 0 resulting feature types Opened mapping File C:\Users\xxxx\AppData\Local\Temp\arc4C3B\FME_13899045649_10316.fmw for output Mapping File Generation was SUCCESSFUL Mapping File Generation was SUCCESSFUL FME Session Duration: 1.9 seconds. (CPU: 1.4s user, 0.3s system) END - ProcessID: 10156, peak process memory usage: 75072 kB, current process memory usage: 74916 kB
... View more
01-16-2014
10:53 AM
|
0
|
1
|
2520
|
|
POST
|
Hi Kylie, Thanks for your reply. What I find is, even if the attributes are marked read-only in the feature service, Editing in Collector does not hide them automatically in the Edit form thus confusing the user. However, the data does not actually update for the read-only attributes. The update simply ignores user entered values. It will be nice if Collector app automatically filters out read-only attributes from the Edit form. Regards, Vish
... View more
01-13-2014
06:52 PM
|
0
|
0
|
2842
|
|
POST
|
Hi Russ, Is it is possible to know what sort of offline editing capabilities will be supported? Will it be similar to ArcGIS for Windows Mobile solution? I have a client who is waiting desperately for Collector to allow offline editing. Client often works in a remote area. This customer also needs to validate the data against their business rules when update is submitted. Being in a remote area it is costly for the client to resend its crew back to add missing information or fix incorrect capture. One of the option we are thinking is to do some server side validation at the time of the synchronisation. The validation will update an attibute of a feature class that denotes invalid data. With thematic applied to feature layer based on invalid data, field person would know immediately that it is incorrect capture. But I am not sure how offline version is submitted and if it downloads immediately bringing in server side updates? Is there any other way to incorporate validation rules in a collector app? Regards, Vish
... View more
01-09-2014
07:43 PM
|
0
|
0
|
744
|
|
POST
|
Hi All, I have a query from a client who intends to use Collector App for iOS to perform the field data survey. The collectible feature layer has number of attributes that field person should be able to view but not update in the field. e.g. Pole has Owner attribute that field person should not be able to update? By default, collector allows every attribute to be edited. Is it possible to configure Collector for ArcGIS to mark certain attributes as readonly? Something similar to ArcGIS for Windows Mobile Project Centre functionality. Regards, Vish
... View more
01-09-2014
07:27 PM
|
0
|
8
|
7056
|
|
POST
|
Hi All, I am developing a WPF application and having some trouble with createReplica REST API call. I am using createReplica REST API call to download layers and attachments from ArcGIS Online Feature Service. I am specifying a JSON string for API parameters with HttpWebRequest.ContentType set to "application/json; charset=utf-8". When I call HttpWebRequest.GetResponse(), I keep getting response as html string that says "Token required" despite of requesting the response as json (f=json parameter). I have tried including "token" in the HttpWebRequest URL as well as in the JSON object but no difference. Am I missing anything? Does createReplica support JSON content type? Snippet of the code below; string replicaParams = GenerateRepliaceRequestJSON();
//string replicaParams = GenerateReplicaRequestForm();
string url = string.Format(@"{0}/{1}?token={2}", _currService, "createReplica", _tokenValue);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Method = "POST";
webRequest.ContentLength = 0;
webRequest.ContentType = "application/json; charset=utf-8";
//webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.Accept = "application/json";
webRequest.Referer = txtBaseURL.Text;
byte[] postBytes = Encoding.UTF8.GetBytes(replicaParams);
webRequest.ContentLength = postBytes.Length;
using (Stream stream = webRequest.GetRequestStream())
{
stream.Write(postBytes, 0, postBytes.Length);
stream.Flush();
stream.Close();
}
using (HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse)
{
using (StreamReader sreader = new StreamReader(response.GetResponseStream()))
{
string responseString = sreader.ReadToEnd(); // response here is html that says "Token required" Cheers, Vish
... View more
11-14-2013
05:15 PM
|
1
|
1
|
3520
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 12-13-2021 01:47 PM | |
| 1 | 10-13-2020 02:54 PM | |
| 1 | 03-09-2020 04:38 AM | |
| 1 | 02-23-2022 08:50 PM | |
| 1 | 01-31-2022 05:22 PM |
| Online Status |
Offline
|
| Date Last Visited |
03-13-2022
07:27 PM
|