|
POST
|
The stream service will have a "subscribe" endpoint. Once you make a connection, you will be subscribed and changes will be pushed down from the service. This differs from a standard http feature service, where you need to explicitly send a request and get a response. Here is some example code in QML, where once active, text messages (JSON) gets pumped through: import QtQuick 2.6
import QtQuick.Controls 2.2
import Esri.ArcGISRuntime 100.11
import Qt.WebSockets 1.15
ApplicationWindow {
id: appWindow
width: 800
height: 600
title: "MapStressTest"
MapView {
anchors.fill: parent
Map {
BasemapTopographicVector{}
}
GraphicsOverlay {
id: go
SimpleRenderer {
SimpleMarkerSymbol {
color: "red"
size: 12
style: Enums.SimpleMarkerSymbolStyleCircle
}
}
}
}
WebSocket {
active: true
url: "wss://<path_to_stream_service>/StreamServer/subscribe"
onTextMessageReceived: {
const feat = JSON.parse(message);
const geometry = ArcGISRuntimeEnvironment.createObject("Point", {
x: feat["geometry"]["x"],
y: feat["geometry"]["y"],
spatialReference: Factory.SpatialReference.createWgs84()
});
const graphic = ArcGISRuntimeEnvironment.createObject("Graphic", {
geometry: geometry
});
go.graphics.append(graphic)
}
}
} I'm not certain on your question about Android, but I would be very surprised if the Android SDK (the Google SDK, not Esri's Runtime SDK) did not contain a similar web socket API. This should be a pretty standard networking capability for most frameworks to support whether Qt, .NET, iOS, Android, Java, etc.
... View more
06-10-2021
12:49 PM
|
0
|
1
|
2526
|
|
POST
|
Good info. Thank you for the details. The StreamLayer limitation could theoretically be temporarily worked around by using a QWebSocket and hooking up to the signals to see when messages are received from the server. This info should contain JSON with the info you would need to create a new Graphic object and place it in the correct location. I tested this many years ago and it worked pretty well with the QML WebSocket type, but unfortunately I haven't tested it recently nor do I have an example to share at the moment.
... View more
06-09-2021
02:23 PM
|
0
|
3
|
2541
|
|
POST
|
StreamLayers are not currently supported in any of the Runtime SDKs, but we are planning to add support in an upcoming release. Could you provide some details about your organization/project/workflow? Feel free to direct message me with this info if you prefer. I can add this info to our internal epic to help raise the priority of the feature.
... View more
06-09-2021
07:29 AM
|
0
|
5
|
2553
|
|
POST
|
You will need to request features in chunks until the exceededTransferLimit becomes false. This .NET post has an example of paging the queries you could take inspiration from - https://community.esri.com/t5/arcgis-runtime-sdk-for-net/queryfeaturesasync-paging/td-p/15458
... View more
06-04-2021
12:17 PM
|
0
|
0
|
959
|
|
POST
|
Couple of things I see that could be going wrong: 1) In your "sender file", it is creating a new instance of CppMaps each time fsSend executes. Is this what you want, or do you want to update the map with new coordinates? 2) Is the spatial reference you are using correct? Your builder uses wkid 6668 - are the coordinates coming in from that coordinate system or do they need to be projected from one coordinate system to another? 3) Not required, but you could bypass the builder and just create a Point directly from the x/y coordinates that come through
... View more
06-04-2021
11:20 AM
|
0
|
1
|
962
|
|
POST
|
The spatial reference can be set in one of two ways. The first, most common way, is to add a layer to your map. The first layer, typically the basemap, will dictate what the spatial reference of the map will be. In the case of the ArcGIS Basemaps, most are in Web Mercator, so a map created with these basemaps will be in web mercator. The second option is to explicitly instantiate a map with a SpatialReference object, and then add your layers to your map after. The caveat here is that some layers, such as tiled layer/vector tiled layer basemaps, do not support reprojecting on the fly, so you will need to use layers that can be projected on the fly or publish your own basemap data in the spatial reference you choose. More info on spatial references can be found here - https://developers.arcgis.com/qt/spatial-and-data-analysis/spatial-references/
... View more
06-01-2021
08:24 AM
|
0
|
1
|
1822
|
|
POST
|
I'm using an Android Galaxy A51. I'll pass on the feedback to add some parameters like this. We have similar caching/loading options in feature layers and tiled layers.
... View more
06-01-2021
07:03 AM
|
0
|
0
|
1983
|
|
POST
|
Can you upload a video of what you are seeing? I tried on my Android device and it seems to work ok, but maybe I am at a different scale or panning differently than you
... View more
05-26-2021
09:30 AM
|
0
|
0
|
2026
|
|
POST
|
Do you see this same performance with the dataset mentioned in the OfflineData section of the sample? https://github.com/Esri/arcgis-runtime-samples-qt/tree/main/ArcGISRuntimeSDKQt_CppSamples/Layers/AddEncExchangeSet#offline-data That's all I have for data locally, and it works well on my year-old MacBook Pro.
... View more
05-25-2021
11:46 AM
|
0
|
0
|
2039
|
|
POST
|
Hello, Thanks for the suggestion. Looks like we need to clarify some things in the sample and API. The intention is that samples that require offline data will mention so in the README, such as in this section - https://github.com/Esri/arcgis-runtime-samples-qt/tree/main/ArcGISRuntimeSDKQt_CppSamples/Layers/AddEncExchangeSet#offline-data I think what it comes down to is that in order to use ENC data, you need to set the path to your hydrography dataset on disk. If you have the SDK installed and you do not explicitly call the setter, the API will try and find it from the SDK install location (https://developers.arcgis.com/qt/cpp/api-reference/esri-arcgisruntime-encenvironmentsettings.html#setResourcePath). This is what happens when you comment out the setResourcePath call, hence why things begin to work. However, the sample is also written to be run as a standalone app on a system without the SDK installed, which is why we specify the different path, but I see now how it causes some confusing behavior. Thanks for the feedback. Glad you got things working
... View more
05-25-2021
11:22 AM
|
0
|
1
|
1808
|
|
POST
|
Once you have the ENC datasets, you can display them natively in Runtime as done in this sample - https://github.com/Esri/arcgis-runtime-samples-qt/tree/main/ArcGISRuntimeSDKQt_QMLSamples/Layers/AddEncExchangeSet
... View more
05-25-2021
10:53 AM
|
0
|
1
|
1869
|
|
POST
|
Hey Christopher- Couple of suggestions. 1) First, to display the shapefile, you will need to create a ShapefileFeatureTable with the path to the .shp, and display that table with a FeatureLayer. Here is a sample for that - https://github.com/Esri/arcgis-runtime-samples-qt/tree/main/ArcGISRuntimeSDKQt_CppSamples/Layers/FeatureLayerShapefile 2) A shapefile is a data format that consists of multiple files. You mention the proj, shp, and shx, but you will also need a dbf, which contains your attribute information. Without it, your shapefile will likely not load correctly. More info on that here - https://desktop.arcgis.com/en/arcmap/10.3/manage-data/shapefiles/shapefile-file-extensions.htm 3) For customizing the display of the layer, you'll first need to display a feature layer as described in step 1, which will give you some default symbology applied automatically. After your layer is created, you will need to create a UniqueValueRenderer, which allows you to display a unique symbol per unique value in your table (in your case, some region ID or code) as described in this sample - https://github.com/Esri/arcgis-runtime-samples-qt/tree/main/ArcGISRuntimeSDKQt_CppSamples/DisplayInformation/Unique_Value_Renderer
... View more
05-19-2021
07:17 AM
|
1
|
1
|
1342
|
|
POST
|
I tested out adding the following to our "display device location" sample and could successfully log the x and y properties. Connections {
target: mapView.locationDisplay
function onLocationChanged() {
console.log("location changed")
var stop1Geometry = ArcGISRuntimeEnvironment.createObject("Point",{
x: mapView.locationDisplay.location.position.x,
y: mapView.locationDisplay.location.position.y,
spatialReference: Factory.SpatialReference.createWgs84()
});
console.log(JSON.stringify(stop1Geometry.json))
}
} Can you confirm this works for you? If so, I wonder, what is different in your app?
... View more
05-03-2021
11:34 AM
|
0
|
1
|
1546
|
|
POST
|
I believe the issue might be that your points/coordinates coming from the mapview click event is coming in 3857 (web mercator), and then you are trying to add these points to a builder that is using 6668. My suggestion is to use GeometryEngine.project to take the 3857-based points and project them into 6668 before you call addPoint on the builder. That way, you are adding the points to the builder in the correct spatial reference https://developers.arcgis.com/qt/qml/api-reference/qml-esri-arcgisruntime-geometryengine.html#project-method
... View more
04-28-2021
06:59 AM
|
0
|
1
|
1052
|
|
POST
|
Hi Eric- Are you trying to add a graphic from your current location, or are you trying to update the location display (blue dot) on the map manually? Do you see any errors in the console (such as "cannot access property 'x' of null")? If you console.log - mapView.locationDisplay.location.position.x & y, do those give you valid coordinates back?
... View more
04-28-2021
06:55 AM
|
0
|
0
|
1562
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 11-24-2025 10:45 AM | |
| 1 | 07-30-2025 08:26 AM | |
| 1 | 05-15-2025 07:35 AM | |
| 2 | 11-26-2024 01:27 PM | |
| 1 | 06-26-2015 10:19 AM |
| Online Status |
Offline
|
| Date Last Visited |
a week ago
|