POST
|
Hi @KoushikHajra , We have some additional questions concerning this issue: 1) While rendering the QImage on ImageOverlay, does ArcGIS utilize the GPU? 2) If we have used QML instead of C++, would it help our slot to be executed faster? Currently, slotRadarImageChanged() function takes about 200 msecs to execute. 3) As a commercial customer of ArcGIS Runtime Library, we would appreciate if you could open a bug report or an optimization item for the further releases about this issue. Thanks for your support!
... View more
09-30-2021
12:13 AM
|
0
|
0
|
825
|
POST
|
Hi @KoushikHajra , Yeah, it's called once in every 30 radar pulse. Unfortunately I can not send the radar image since it is a real time stream data. Instead a test with 8k x 8k dummy QImage should be sufficient. miWidth = 8000;
miHeight = 8000;
try {
mpImage = new QImage(QSize(miWidth, miHeight), QImage::Format_ARGB32);
}
catch (exception &e) {
cout << "Exception in ImageItem::ImageItem : " << e.what() << endl;
}
// Create a red QImage
mpImage->fill(qRgba(255, 0, 0, 255));
... View more
09-29-2021
03:33 AM
|
0
|
2
|
829
|
POST
|
We have a constantly changing radar image which is 8000x8000 pixels. Whenever the radar image changes, a slot function is executed as below: void MainMapWidget::slotRadarImageChanged(const QImage &image){
std::unique_ptr<ImageFrame> m_imageFrame = std::make_unique<ImageFrame>(image, m_ImageOverlayEnvelope, this);
m_imageOverlay->setImageFrame(m_imageFrame.get());
} This slotRadarImageChanged is not being called after each radar echo, instead we wait 30 echoes to be received and after that imageChanged signal is emitted. We detected that this function occupies CPU so much, causing a bottleneck in our program. If the image is 2000x2000 it does not cause any delays. In short, we want to find a way to optimize passing our QImage to ImageOverlay. If there are any other alternative ways to do this, please share with us.
... View more
09-25-2021
04:06 AM
|
0
|
6
|
888
|
POST
|
@LucasDanzingerthanks for the info! It looks great. We are currently using 100.8. If we upgrade to 100.12, I am sure we will add this feature to our project.
... View more
09-09-2021
01:04 AM
|
0
|
0
|
1246
|
POST
|
Thanks @Tanner_Yould , I wanted to add the code here, in case someone needs a quick solution to a similar problem. void MainMapWidget::ZoomInSlot(){
if(dynamic_cast<GlobeCameraController*>(m_sceneView->cameraController()) != NULL){
double currentElevation = m_sceneView->currentViewpointCamera().location().z();
m_sceneView->setViewpointCamera(m_sceneView->currentViewpointCamera().elevate(-currentElevation*.25), 0.1);
}
else{
OrbitLocationCameraController *camCtrl = (OrbitLocationCameraController*)m_sceneView->cameraController();
camCtrl->moveCamera(-camCtrl->cameraDistance()*.25, 0, 0, 1);
}
}
void MainMapWidget::ZoomOutSlot(){
if(dynamic_cast<GlobeCameraController*>(m_sceneView->cameraController()) != NULL){
double currentElevation = m_sceneView->currentViewpointCamera().location().z();
m_sceneView->setViewpointCamera(m_sceneView->currentViewpointCamera().elevate(currentElevation*.25), 0.1);
}
else{
OrbitLocationCameraController *camCtrl = (OrbitLocationCameraController*)m_sceneView->cameraController();
camCtrl->moveCamera(camCtrl->cameraDistance()*.25, 0,0,1);
}
}
... View more
09-02-2021
11:53 PM
|
1
|
0
|
1836
|
POST
|
Hi @Tanner_Yould , I tried this solution and it perfectly works when the camera controller is GlobeCameraController. However when user switches to OrbitLocationCameraController it does not work. How can we adapt this solution to OrbitLocationCameraController? Or should I use NavigationController class?
... View more
08-31-2021
05:21 AM
|
0
|
2
|
1854
|
POST
|
Thank you very much @Tanner_Yould . Seems great! I'm gonna try this solution today.
... View more
08-31-2021
01:35 AM
|
0
|
0
|
1856
|
POST
|
If we wanted to add zoom in and out buttons to a 3D SceneGraphicsView, what would be the way to do it? Are there any samples about it?
... View more
08-25-2021
11:56 PM
|
0
|
5
|
1897
|
POST
|
Thanks @LucasDanzinger . I solved the issue by adding an offset to the altitude of the vertices of the ruler. After all rulers are raised by some amount, the lines did not disappear. The point I don't understand is why the vertices didn't disappear i.e. stay behind the map just like the lines? The problem does not concern single Graphics, it concerns only lines as far as I see.
... View more
08-25-2021
11:11 PM
|
0
|
0
|
1201
|
POST
|
Thanks @LucasDanzinger, I will try the Relative mode. By the way, when saying z value should I interpret it as the altitude of a Geometry or the drawing order?
... View more
08-24-2021
10:49 PM
|
0
|
2
|
1232
|
POST
|
We have a ruler Graphic Item on SceneGraphicView consisting of 2 points and a line between these points. When one of these points has a significant altitude value, the line is drawn. Otherwise line stays behind the map at some sections.(See attachment) How can I force the ruler to be drawn at very top regardless of the altitude values of the endpoints? By the way I don't want the ruler line to be Draped because it's a 3D line.
... View more
08-24-2021
06:53 AM
|
1
|
5
|
1277
|
POST
|
Hi @JamesBallard1 , It was Turkish before, and by the way I also installed qgis application and packages to examine the dted files before restarting the computer. It might also have had an impact on solving the problem, I'm not sure.
... View more
07-15-2021
03:29 PM
|
1
|
0
|
1085
|
POST
|
Thanks @JamesBallard1 . It turned out to be a Language settings issue. After I changed language to English and restart the machine, it showed the elevation data. It wasn't about the Qt version.
... View more
07-15-2021
02:17 PM
|
1
|
2
|
1090
|
POST
|
Hi @LukeSmallwood , I managed to explore the fields, and there is a "CITY_NAME" field that I want to display as label. const QString labelJson(R"({"labelExpressionInfo":{"expression":"$feature.CITY_NAME"},"labelPlacement":"esriServerPolygonPlacementAlwaysHorizontal","symbol":{"angle":0,"backgroundColor":[255,255,255,60],"borderLineColor":[255,255,0,255],"borderLineSize":1,"color":[255,255,0,255],"font":{"decoration":"none","size":8,"style":"normal","weight":"normal"},"haloColor":[255,255,255,120],"haloSize":0.5,"horizontalAlignment":"center","kerning":false,"type":"esriTS","verticalAlignment":"middle","xoffset":0,"yoffset":0}})"); However no labels are displayed on the feature layer.
... View more
07-13-2021
11:34 PM
|
0
|
1
|
1596
|
POST
|
I have a successfully running application on a Ubuntu 20.0.4 machine with Qt 5.12.9 and Arcgis runtime lib 100.8. On the other hand after copying my app to a nearly same machine with only difference being the Qt version (5.12.8), it started not showing the elevation data. I don't get any errors while loading the raster elevation by the way. What am I missing QStringList turkeyPath;
QDir dir("/home/fatma/srtm/");
dir.setSorting(QDir::Name);
QStringList fileList = dir.entryList(QDir::AllEntries);
for(int i = 0; i < fileList.size(); i++){
turkeyPath.append(dir.filePath(fileList.at(i)));
}
const bool srcElevationFileExists = QFileInfo::exists(turkeyPath.at(0));
if(srcElevationFileExists)
{
RasterElevationSource* elevationsrc=new RasterElevationSource{turkeyPath, mpMainCentralWidget};
//When the elevation source is finished loading, call the elevationSrcFinishedLoading callback, so we can tell if it loaded succesfully.
connect(elevationSrc, &RasterElevationSource::doneLoading, this, &MainMapWidget::elevationSrcFinishedLoading, Qt::UniqueConnection);
cout << "Enabled " << elevationSrc->isEnabled() << endl;
elevationSrc->setEnabled(true);
cout << "Enabled " << elevationSrc->isEnabled() << endl;
m_scene->baseSurface()->elevationSources()->append(elevationSrc);
} ?
... View more
07-13-2021
06:41 AM
|
0
|
4
|
1139
|
Title | Kudos | Posted |
---|---|---|
1 | 08-16-2022 11:27 PM | |
1 | 08-16-2022 11:32 PM | |
1 | 02-10-2022 10:50 PM | |
1 | 09-02-2021 11:53 PM | |
1 | 08-24-2021 06:53 AM |
Online Status |
Offline
|
Date Last Visited |
01-16-2024
12:07 PM
|