QGIS - Composer - qgis

My question concerns the general purpose of the composer in qgis. My first idea was that with the composer you can "save" different layer combinations with different style to gain the possibility the have different "views" on the same data. However I realized when I change the map in QGIS, the information in the composer is also refreshed. To clarify my intent I want to give a small example:
Assume you have the gas stations of different companies for a country and you want to produce a map with all companies and maps containing only the gas stations of a certain company. So in the beginning I though I just create different composers to gain different maps but I somehow fail.

If I understand your question, you can use the composer as you wish.
When you have finished a composer, click on the map and, in the object properties, just check "lock layers for this map."
It should no longer be updated, even if you hide or display layers.
Regards.
Vincent

For large projects with a large number of composers, it's better to use layer presets and the "Follow visibility preset" option within the composer.
This is because when using "lock layers" and "lock layer styles", it saves all of the layers and their styles and properties. When it does this for each composer, it can quickly balloon the size of the QGIS file. This can make it take an extremely long time to open a project, cause a lot of performance issues, and inevitably will corrupt your QGIS file. Following a visibility preset simply references the style for the layer rather than duplicates it.
E.g. I had an employee whose QGIS file got corrupted and I had him send it and the backup files to me. On review, the primary QGIS file was empty, and the backup file was an exceptional 65mb. The markup behind the QGIS file was nearly a million lines long. It was corrupted because it got cut off, so I'm not even sure how long it might have been in it's entirety. This was a result of him having about 30 layers and over 100 composers that each had the layers locked. It also explained why he was the only one who was constantly complaining about his laptop being too slow for the work :)

in answer to your statement “My question concerns the general purpose of the composer in qgis”
For me and as In understand the purpose of the print composer in qgis is more to provide an output for GIS project in a cartographic format .and it is very Cleary detailed in the qgis documentation “The Print Composer provides growing layout and printing capabilities. It allows you to add elements such as the QGIS map canvas, text labels, images, legends, scale bars, basic shapes, arrows, attribute tables and HTML frames “(see the link bellow)
If you need more information about how to use it please visit this link
https://docs.qgis.org/2.2/en/docs/user_manual/print_composer/print_composer.html?highlight=qgis%20composer
Best Regard,

Related

Replacing the location of images in Google-Earth

A friend of mine inherited (don't ask about the specifics here) a documentation on Google Earth which incorporates a lot of images. Those where on a server and accessed from there.
Now the server has been shutdown, so the web-links are gone. Nevertheless the images are still available as the server data has been secured. The links in GE are now marked as invalid, and I can see that there are web-links in the form of https://domain.tld/directory/image.jpg in the app.
So I am looking for a solution to extract the data to be able to replace the https://domain.tld/directory-part, replace it with an appropriate local directory (C:\directory\) and then reload it back into the GE.
Or is there any internal function/tool available in GE?
(IT-knowledge to a certain extent to make conversions is available.)
If by "documentation on Google Earth" you mean a KML file, then yes, you should be able to update the URLs relatively easily. a KML file is just an XML text file, so you can open it up with any text editor. If you use a full featured text editor then you can do a find/replace on the "https://domain.tld/directory/" part, and replace it with something that looks like: "file:///C:/directory/".
Where you find the URLs will depend on whether the images are used as ground overlays, icons, content in balloons associated with placemarks, etc.

Including non-standard resources in Unity HoloLens app

I'm building an app that must visualize a large point cloud on HoloLens 1st gen. As performance is an issue wit large clouds, I'm using Potree, an octree that takes care that only a preset number of points from the cloud are rendered.
The solution works in the editor, but, you guessed it, not when deployed on HL.
The point cloud in the Potree format is a set of couple of .json and hundreds of .bin files stored in hundreds of subfolders following the octree structure, all of that stored within a single folder, and the path to this folder is accessed by the renderer at runtime. However, I don't know how to include this folder in the HL app. Using Resources doesn't work as it's not really a standard resource. I've seen Asset Bundle suggested elsewhere, but according to this post asset bundling doesn't work on HL.
Is there a way to simply put this complex file structure in an accessible directory on HoloLens?
I feel completely stuck here and any help would be much appreciated.
Some of the things I've tried:
Keijiro Pcx doesn't work here. If rendered as single pixels, points cannot be seen in AR, and if rendered as meshes, the performance is abysmal (which led me to a conclusion octree structure should be used)
the solution here shows how to load one .xml file, but I have hundreds of files so I don't think it would work for me
similarly, this post deals with one .obj file
Unity 2019.4
HoloLens 1st gen
For anyone stumbling upon this - I ended up using Unity StreamingAssets and accessing the folder with Application.streamingAssetsPath - works beautifully!
Using pcx needs to be adjusted to binocular rendering in publishing settings. Please uncheck "Enable Depth Buffer Sharing" in XR Settings, and change "Single Pass" to "Multi Pass", as shown in the figure.enter image description here

Is there any in-browser online tool for marking bounded boxes of objects in images for training neural networks?

I want to create my own dataset for YOLOv3 Object Detection. It looks like there is a huge set of offline tools for marking bounded boxes, for example: Yolo_mark, Microsoft VoTT, LabelImg. Is there any zero-config online tool, which will work right in my web browser? Also It would also be convenient to be able to crop ROI of the image right in the process of marking along with bounding boxes.
I could not find a tool that fit the search criteria, so I decided to write it myself. It published by direct link in Github Pages. A killer feature of this tool is support for touch screen input. ROI cropping with automatic shift of bounding boxes is also implemented.
Source code is published here. The tool uses a minimum of third-party dependencies: only Typescript compiler is required for deployment. Bounding boxes will be written when saved onto txt files by darknet framework format.

Eclipse BIRT and Accessibility

I work for a large financial institution and all our web sites need to be accessible for people with disabilities. We are using Eclipse BIRT to generate some reports and I want to explore if anyone out there has any experience in making the reports accessible. The main problem is that there is a lot of data in the report and some of it may not be understandable by the value alone, for instance a string like "123444" may be an account number, a check number or a transaction id. In a pure HTML page we will either use a dl/dt/dd construct to make it clear the purpose of the date, or we use ARIA attributes like aria-labelledby.
Another area of concern is the creation of accessible PDF files.
Any help or report on experience will be greatly appreciated.
Given your description I presume that you are focusing on blind users. One of the most popular screen readers for English language use is JAWS by Freedom Scientific There is a free trial version which you can download for testing and/or your organization can purchase a copy.
You can read your report with JAWS and find what issues need to be addressed. Proper labeling conventions for buttons and such is probably the most overlooked by developers. (i.e. Button123 with Image1A is the submit button, JAWS can't read the picture of words in the image, soo...)
Speaking from experience (I am closely associated with a blind computer user) stay away from PDF if you want it to be blind friendly. Web pages and text documents are much more blind friendly.
PDF works to create a version of a document that is static for visual appeal. In the process is chops up the text, when JAWS tries to read it it will read half of one item, then half of another, than maybe jump back to finish the last 1/3 of the first, leaving the middle 1/6 for last, it is painful. Of course a PDF that does not have text layer (i.e. a picture of a word document) is not readable by any screen reader.

Product idea/approach : Folder based disk organization

Sweet..I bought myself a 1TB portable harddrives this week. Don't you just love how much data you could store on one of these disks? The fact that I could store my bluray rips on to my portable harddisk and that my lg lcd tv can do HD rips right from the drive - that's amazing practicality right there! However, life it seems, is never so simple. I have 100s of movies unorganized in one huge folder, which is exactly what I needed to annoy myself while browsing the same on my tv to play a single movie. That got me thinking...
What if I had an automated way to organize movies into folders such that my folder-browsing-on-a-lcd-tv-or-a-comp would make my life a little easy?
I started thinking about this... I browsed a little in this context and I realized that if only I could "tag my movies somehow and create folders on-the-fly based on tags using hardlinks", I would have addressed my problem. I googled a bit to find software that works in the above fashion, only to find none.
A few more days of serious thought (as you know by now.. I think a lot.. and I guess this question is starting to sound like a blog rant/post of sorts...), in the interest of humanity, I thought I should come up with a generic way to address this: What if someone wanted to organize photos... organize music.. organize software?!
Turned my grey cells off for a while and here is an approach I came up with to solving my what-if scenario.
Tag / Group tag individual files (rely on a slick GUI to do it fast and do it good) - Adobe Flex/Eclipse RCP to do this?
Create hardlinks to each of the tagged files.
The first point is self-explanatory. The second (coz I am talking windows here), refers to making use of mklink.exe.
Consider a scenario where I have 2 movie files: I have a movie file "Transformers.avi" tagged as "english, action, bluray, sci-fi, imdb-top-50, must-watch-with-kids" and another movie file "The Specialist.avi" tagged as "english, bluray, thriller, adult". Here are a few of the possible locations I want to see my Transformers to be found:
[root directory]->all-tags->english
[root directory]->all-tags->bluray
[root directory]->all-tags->english->all-tags->bluray
[root directory]->all-tags->bluray->all-tags->action
[root direcotry]->all-tags->english->all-tags->action->bluray->all-tags->imdb-top-50
Given that windows has a limit of 1024 hardlinks to a single file, I probably would be allowed 7 unique tags per file. Each sub-folder will have an "all-tags" folder. Having it named "all-tags" makes it more accessible when order by name.
I believe this approach when automated to let you configure tags you want and where the hardlinks are created for you, helps you organize stuff effectively.
I don't know if there are better things out there. I would like your inputs on this approach and other possible ideas. I would like to gather inputs here and release something to sourceforge for everyone to use in a couple of weeks. I am sure, I can count on your positive response as always.
I believe hardlinks are not a good approach. Reason? A standalone player won't play them, and I wouldn't like a program who's made for tagging to tell me to stop making so many tags because of a Windows limitation on hardlinks (remembering each tag will increment the number of links exponentially).
Plus, "help" is not a good tag.
And I've had an idea once that I'm still planning to make some day to sort my own files - put the files in a big storage each below a GUID foldername (filename untouched) and store metadata in a sqlite database to be used by a smart file browser.
I was considering doing something similar to this with music for detecting duplicate songs and auto-organize funcationality.
For your application, I wouldn't recommend using any shell programs through Java. Exception handling becomes difficult, and your application becomes bound by the shell interface and implementation (i.e. windows versions or installations affect your application behavior).
I would use a database with a few tables: Files, Tags, and an association table.
The Files table would list the physical location of each file, the filename, and a unique identifier. This way, you can maintain information about each file without having to modify it for every tag association.
The Tags table would list each tag, and any metadata you want to store for each tag.
A third table, maybe 'FileTags' would store the assocation between tags and files. When adding tags to the stack, you would add a statement to the WHERE clause, and the list of files with all of the tags would be returned. This structure would also allow open your codebase up to other designs, such as include/exclude (autocomplete with X buttons), or possibly search.
If implemented in Java, your app would be platform independent, and would allow a very large number of tags and files. You can then use the system default application for opening the media file, and the user can make the selection in their native OS.
Reiser4?
...
(I mean nevermind Hans, but the tech...)
[disclaimer: Not a hacker. I know nothing of programming/coding, never mind filesystems & databases. I can barely code decent HTML even, if at all. Hey y'all! :D]
[footnote: does plain HTML5 work here? Too lazy to close my tags hehe :p]