|
POST
|
subType != subtype While it looks like the attempt to add subtype support was included it seems to me that no one took the time to look at the definition in ArcGIS Enterprise and see that the json tag is subtype. In AGOL it is subType and this doe not appear to parse correctly.
... View more
07-18-2019
10:27 AM
|
0
|
5
|
2086
|
|
POST
|
The spatial reference that is drawn is the same as the basemap that is loaded. If you are using an esri basemap this will be WebMercator. Which should be wkid 3857, although it is the same as 102100 just the number was changed a while back. But you need to project you geometry prior to save if you want in Wgs84 var wgsGeometry = GeometryEngine.Project(webMercatorGeometry, SpatialReferences.Wgs84);
... View more
07-12-2019
12:32 PM
|
0
|
0
|
1048
|
|
POST
|
My reply did say call LoadAsync on the Feature. I mention the type of feature table as clarification because the issue described would not occur with a feature from a GeodatbaseFeatureTable
... View more
07-12-2019
12:23 PM
|
2
|
2
|
3191
|
|
POST
|
Try calling LoadAsync() on the feature. I assume your using a ServiceFeatureTable , with ServiceFeatureTable only a core set of attributes in returned by default in order to keep the response to a minimum. I believe the LoadAsync() will pull the entire feature with all attributes
... View more
07-11-2019
12:35 PM
|
2
|
5
|
3191
|
|
POST
|
I have done some intensive testing on what is happening here and it really defies explanation. I have uploaded an edit using the Runtime API with direction set to Upload. I have then through two methods generated a delta file. I can look at the fiddler logs and see that the rest call to the /synchronizeReplica method is identical. In one case I am using the Runtime API and the sync completes through whatever process is used internally to the API. In the second case I download the delta file separately and use the GeodatabaseSyncTask.ImportGeodatabaseDeltaAsync method the import deltas. In the case of using the Runtime API changes are imported to the offline edit replica and everything is correct after the sync. In the case of manually merging deltas the changes do not show up in the edit offline replica. I have looked at the actual delta file and as far as I can see they are identical. The only difference is in one case we merge deltas, in the other case the API merges deltas. As a side not everything works just fine if the if field database has never been edited. It is only when the field database has been edited that the merge fails. What is wrong? How can it not be possible to merge changes in this way? Rex Hansen Michael Branscomb
... View more
07-03-2019
11:42 AM
|
0
|
0
|
983
|
|
POST
|
We have a process in place to import deltas generated through another process. Doing this we are seeing odd behavior in how the things merge. In situations where in the time between an upload happening from the client and the next delta download edits occur at the server, these changes do not get back to the client that made the edits. So. User 1 makes edit, creates feature A t0 User 1 pushes edit to server using an Upload Sync - feature A is on server at t0 User 2 edits feature A on server at t1 System generates deltas from t0.. User 1 downloads delta file and does Merge In this scenario user 1 never gets the changes made on the server to the feature she created. iF i look in the delta database I see the row, but everything is contained in the _Inserts table. If any other user downloads those deltas the features are created as expected. If after that initial delta was generated a new edit is made to feature A and we generate a new delta file the update will process correctly. Also in this case the delta database contains the edit in an _Update table. I am not sure where the issue is? I would think the delta database would recognize that the record had been inserted and updated since the last delta was generated, or the ImportGeodatabaseDeltaAsync would recognize that the row in the _Insert table did not match the same row that was in the offline replica All I know is that user 1 never gets the update to her feature that was made on the server in the time between upload and generating the delta Thoughts? -Joe
... View more
07-02-2019
03:08 PM
|
0
|
1
|
1111
|
|
POST
|
You could make it really clean and roll your own ToJson public static class OverlayExtension
{
public static string ToJson(this GraphicsOverlay overlay)
{
JArray array = new JArray();
foreach (var graphic in overlay.Graphics)
{
JProperty geometry = new JProperty("geometry", graphic.Geometry.ToJson());
JProperty symbol = new JProperty("symbol", graphic.Symbol.ToJson());
JObject jObject = new JObject(geometry, symbol);
array.Add(jObject);
}
return array.ToString();
}
public static void FromJson(this GraphicsOverlay overlay, string json)
{
JArray array = JArray.Parse(json);
foreach (var jObject in array.OfType<JObject>())
{
string geometry = jObject["geometry"].ToString();
string symbol = jObject["symbol"].ToString();
var graphic = new Graphic(Geometry.FromJson(geometry), Symbol.FromJson(symbol));
overlay.Graphics.Add(graphic);
}
}
} Then in code string json = EditGraphicsOverlay.ToJson();
//Write to file
//read from file
EditGraphicsOverlay.FromJson(json);
... View more
07-02-2019
01:43 PM
|
0
|
0
|
2096
|
|
POST
|
I think it would be pretty straight forward to just build out your own json array for each element using the .ToJson methods. Something like... // Save to file
JArray array = new JArray();
foreach (var graphic in overlay.Graphics)
{
JProperty geometry = new JProperty("geometry", graphic.Geometry.ToJson());
JProperty symbol = new JProperty("symbol", graphic.Symbol.ToJson());
JObject jObject = new JObject(geometry, symbol);
array.Add(jObject);
}
StreamWriter sw = new StreamWriter("D:\\outfile.json");
JsonWriter writer = new JsonTextWriter(sw);
array.WriteTo(writer);
writer.Close();
//read back in
StreamReader reader = new StreamReader("D:\\outfile.json");
string json = reader.ReadToEnd();
JArray array = JArray.Parse(json);
foreach (var d in array.OfType<JObject>())
{
string geo = d["geometry"].ToString();
string sym = d["symbol"].ToString();
var graph = new Graphic(Geometry.FromJson(geo), Symbol.FromJson(sym));
overlay.Graphics.Add(graph);
}
... View more
07-02-2019
11:35 AM
|
0
|
1
|
2096
|
|
POST
|
We get this error on sync occasionally: Esri.ArcGISRuntime.ArcGISServerException: The current version does not support editing (base, consistent, or closed) [An open transaction was detected. All user transactions must be closed prior to StartEditing.] Once it occurs that database won't send edits again. Anyone know what would cause this and if it occurs how do we resend the edits? Thanks -
... View more
07-01-2019
09:55 AM
|
1
|
0
|
1106
|
|
POST
|
I don't think Runtime will allow it (at least not at 100.2, have not tried in 100.5). Although what I tried was different, we tried to add multiple layers from the same offline table. If it is possible, there won't be any advantage from a rendering perspective, they will be seen as completely seperate
... View more
06-26-2019
03:04 PM
|
0
|
2
|
1448
|
|
POST
|
We have a long running process that has been setup to use the rest API from a Runtime application. Everything works fine as long as the process takes less than an hour. When it takes more the token expires and things crash. When I get the token the Token::ExpirationDate is set to 6 hours from the time it is requested. However, it expires in one hour. I have gone into portal to change from the default time to being 10 hours just to be sure that it was not associated to this. It was set at default (-1) which from documentation should be far longer than 6 hours (from what I read it seems it should be 2 weeks). We use IWA for our authentication, so I don't know if this is associated to IWA and if there is something specific that needs to be done because of that. Thanks -Joe Morten Nielsen Michael Branscomb
... View more
06-17-2019
01:20 PM
|
0
|
0
|
719
|
|
POST
|
Was hoping to not have to go down that path if possible. But likely the only route, although if it is a bug (or unsupported feature) as I suspect, it is doubtful I would have any resolution within a timeframe that would be useful. Not to mention that amount of time that will need to be spent with tech support repeating everything in this thread with multiple people
... View more
05-06-2019
02:01 PM
|
0
|
1
|
3022
|
|
POST
|
Thank you for the sample, but this is different from what I am doing. There is a difference in sql server in that it has a database name. This is different from changing an instance, which is what is being done above. Because of how the data connection seems to be maintaining the database name, it is not making the change correctly. If I where only changing the server or instance but keeping the database name the same this issue does not arise. I can change from dbServer01 to dbServer02 as long as the name of the Sql Server database is the same In Sql Server the identifier is not 'Database/Instance', it is 'Server/Instance' or usually just 'Server' because in most cases the default instance is used which does not have an identifier Thanks -Joe
... View more
05-06-2019
01:58 PM
|
0
|
0
|
3022
|
|
POST
|
If you have this working please post the exact code that works. I have changed to set the dataset to the unqualified name of the dataset as you suggest and the result is the same, only the layer at the top level will change anything in feature dataset does not update correctly. Your post that shows the json is unclear, it shows setting the database item to FeatureClassName which makes no sense, although I did try just in case. This is not Oracle so there is no instance in the way Oracle uses instance, it is a different database in the same Sql Server 'Instance' # source
{'connection_info': {'authentication_mode': 'DBMS',
'database': 'Staging',
'db_connection_properties': 'portal07',
'dbclient': 'sqlserver',
'instance': 'sde:sqlserver:portal07',
'password': '<*********>',
'server': 'portal07',
'user': 'gis',
'version': 'sde.DEFAULT'},
'dataset': 'Staging.GIS.PipelineAssembly',
'workspace_factory': 'SDE'}
#target
{'connection_info': {'authentication_mode': 'DBMS',
'database': 'fort_collins',
'db_connection_properties': 'portal07',
'dbclient': 'sqlserver',
'instance': 'sde:sqlserver:portal07',
'password': 'gis',
'server': 'portal07',
'user': 'gis',
'version': 'sde.DEFAULT'},
'dataset': 'PipelineAssembly',
'workspace_factory': 'SDE'} I have run the code replacing everything and also just running with 'database' and 'dataset' being changed. Both have the same result, classes within a Feature Dataset become invalid and it shows the Feature Dataset incorrect. I ran the same code a second time changing the database back and when this is done the datasource becomes valid again (because now the Feature Dataset is correct). I see no way to change the Feature Dataset to an unqualified name so do not know what I am missing Again, if you have a working sample fo changing the database please post. I am thinking perhaps there is a difference with Oracle and Sql Server but I could just be missing something. Thanks
... View more
05-02-2019
01:04 PM
|
0
|
3
|
3022
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 05-11-2026 09:07 AM | |
| 1 | 10-23-2025 12:16 PM | |
| 1 | 10-19-2022 01:08 PM | |
| 1 | 09-03-2025 09:25 AM | |
| 1 | 04-16-2025 12:37 PM |
| Online Status |
Offline
|
| Date Last Visited |
a month ago
|