Expansion of skycultures through spatial and temporal extent#4683
Expansion of skycultures through spatial and temporal extent#4683alex-w merged 129 commits intoStellarium:masterfrom
Conversation
added subclass of QGraphicsView to display a basemap (Pixmap) and several Polygons (GraphicItems)
added QStackedWidget with 2 pages at the old location of SkyCultureTextBrowser. First page holds custom GraphicsView and a Slider, second page holds skyCultureTextBrowser.
added QSlider and QSpinBox for time selection. Culture polygons are shown / hidden depending on the current year.
When clicking on the culturesListWidget, a fitting polygon is selected in the SkycultureMapGraphicsView. If needed the current year is updated as well.
loaded skyculture polygon from geojson file is visible on the map but not placed at the right position
EPSG 3857 coordinates (meter) can now be transformed into view coordinates and projected onto the base map. EPSG 4623 coordinates (lat / lon) can now be transformed into EPSG 3857 coordinates.
added new SVG files (normal, compressed SVG and compressed into SVGZ format)
When a culture is selected through the listWidget, the view smoothly zooms out to the extent of the base map and then smoothly zooms onto the desired culture poygon
removed switch page button and the stackedWidget. Added new page to ViewDialog with skyculture description.
Added a QLabel that displays 'time' in the users respective language to the skyculture map page in ViewDialog
Range of time for skyculture map (and Slider / SpinBox) is now initialized properly. (at least the maxYear part which corresponds to the current system time)
|
Conflicts have been resolved. A maintainer will review the pull request shortly. |
Added functionality to write GeoJSON files instead of regular JSON files when exporting the territory of the skyculture.
|
I did not yet check the GeoJSON. Hopefully tonight... |
|
Just to avoid any confusion: On this note (something I noticed yesterday): some cultures on the main branch (at least one, namely norse_edda) already have a territory file. However, this was created using one of the SCM prototypes I provided to @sushoff during the development process. Since some things have changed since then, this skyculture isn’t being read correctly by the skyculture explorer. (I guess if we switch to GeoJSON, it would have to be redone anyway.) |
|
@mRaetz ok, thanks for the note - so I'd need someone to create polygons ... :-) Good that I didn't have time for it so far ;-) thanks for notifying me! |
|
I have a preference to use existing applicable standard formats and switch before the old format is being circulated. If it's only norse_edda, this can be converted manually. The advantage is using other tools which already exist and which may have special capabilities that facilitate editing. Although I have not used it by now, QGIS has GeoJSON capabilities, at least via dedicated plugins. A very easy-to-use interface for drawing is geojson.io. In the right part of the Window the created GeoJSON is displayed, and you would have (for now) to add the beginDate/endDate properties manually. Maybe the territory file should be named |
|
I have just pushed an editor-converted territory.geojson of norse_edda to master. It loads in QGIS, so should be OK. The geojson file and map use still has to be described in the user guide. Here we can write that only polygon features are supported, and other feature types ignored. The older format should then go away without sorrow. I can imagine authors will want to start editing the polygons in SCM but may want to refine later. And adding the missing polygons later this year should be much easier with this. (with or without bespoke QGIS import/export plugin) |
If nobody objects by tomorrow (@alex-w , @10110111 , @sushoff ?), I see no point in keeping the self-made format.
Ah, you can change the property type then. As I understand the properties are a dictionary where the data types are defined as required. However, you could also just use 10.000 as special marker value.
Where should it go? It is not described in the specifications (User Guide), so I know nothing about it.
Right, but it was already there. Maybe we can repair this into a 4th polygon feature later. I was not aware of this file until 2 hours ago... |
Switch back from using a string for endTime to using an int again. The new special value for existing skycultures is 9146 (previously it was "∞").
|
|
9146... do you mind sharing any deeper explanation for this? (It will be a documented code, so whatever it is. Just that users will be curious.) |
|
previously it was "∞", the symbol for infinity. alpha to num: I = 9, N = 14, F = 6 (INF or 9146) |
|
Argh. I tested the PR and just wanted to approve this as it now really works (at least I could not find new problems. I have not tested image aligning since February though. This should not have changed presumably). I am now reading of a rebase problem, but a squash/merge should work here as well. It's one big feature change. I will add user changes to the SUG on weekend, hoping I don't mis-describe the new features. |
|
Damn... The tab Sky Culture has troubles too |
|
Seems some widget definition was duplicated in the survey tab. Going into it now... EDIT: Fixed. One lengthy widget duplicate removed. |
|
Why do we have |
|
What is the map supposed to be used for? I see cities marked on it, but no symbols for the location of at least the current SC. |
I'm not entirely sure anymore, but I think the list was so “thin” that some names were not easily readable or couldn't be distinguished from others. But maybe that's unnecessary and should be removed. I've never had a problem with the size on my screen, but I can imagine it might be an issue on smaller screens.
Are we talking about how the territory of skycultures is represented? This is done using polygons that currently do not exist. For skycultures like “modern,” these will likely never exist, since there isn't really a definable territory for them. |
Ah, that explains it.
Yeah, somehow Stellarium itself also finds the file successfully. |
|
Map: Each SC can now have a GeoJSON file territory.geojson that shows its location as click-selectable polygon. The time slider below would show the localisation of the SCs as coded in beginTime/endTime properties. The polygon can be created when defining a SC with the SCM plugin, and probably edited/refined with general GIS tools like QGIS. So far, only Norse-Edda has it, but we should add those files to all non-"World" SCs in the upcoming months to populate the map (#4842). I have disabled a warning for missing polygon for now. |


Description
This extension adds spatial and temporal dimensions to sky cultures. These are used to allow users to make interactive selections. The selection menu has been redesigned for this purpose. In addition to a list, users can now explore and select the available cultures using a time-resolved map.
All new cultures in the future should have both a temporal and spatial dimension, which is why the SkyCultureMaker plugin has been updated as well. In addition to a region selection feature, a simple digitization tool has been implemented that allows users to digitize the culture territories themselves. Furthermore, a few minor changes were made that could be described as bug fixes. For example, a problem with pressing the ESC key in ScmSkyCultureDialog was fixed, as well as the previously invisible button for the artwork tooltips in ScmConstellationDialog.
Type of change
How Has This Been Tested?
This extension has been manually tested on a desktop PC (Windows 10) and a laptop (Windows 11). In both cases, there were no compatibility issues. However, no statement can be made regarding correct functionality on other operating systems.
Test specification:
Checklist: