# PicPlanner
A GTK application for photographers using GNU Linux or especially Linux phones. It can be used to calculate the position of the Sun, Moon and Milky Way in order to plan the position and time for a photograph.

## The Idea
People who love to photograph know the biggest problem is being at the right spot at the right time.
Therefore landscape pictures should be planned before visiting the place of choice. To plan the location it is important to know the positon of the sun, moon and sometimes also the milky way.
Where to find the sun at which time is most of the time easy to guess but when is the sunset? And for the milky way normally nobody knows where to find it in the night sky at which time at a specific location.
This small program should answer all these questions.

## Plan
```diff
+1. Create a basic GUI -- Partly done
+2. Create the basic web search -- Partly done
+3. Calculate the center of the milky way at a specific time -- Implemented and equations seem to be very precise (± 1°)
+4. Write a simple plot-library based on Cairo -- Partly done
+5. Calculate the position of the sun -- Implemented and equations seem to be very precise (< ± 1°) 
+6. Find the position of the moon at a spesific time -- Implemented and equations seem to be precise (~ ± 2°)
+7. Present these information in a nice plot -- Plots are possible - Still not very nice 
-8. Implement "smarphone functionality" e.g. find location via GPS and present a compas to adjust the camera correctly
-9. Insert OpenStreetMap to plot everything direktly on a real map
-10. Make everything "real time"; Slide through time bar to see changes on the map instantly
```

## Formulas used

Most of the formulas used are explained in detail directly inside the code.
Some of these formulas are from the excellent book by Jean Meeus "Astronomical Algorithms". Others are from scientific papers or combined by me.

## Libraries


- GTK 3 is used to create the GUI.
- GDK and Cairo is used for the plots.
- Libhandy is used to make the GUI fit on small screens.
- Curl (and Json) is used to connect to "Nominatim" (OpenStreetMap) to translate searched words into coordinates.

## Build

At the moment this application is NOT functional and I only test this application with Gnome Builder.
Some parts of Libhandy like "HdyViewSwitcherBar" are only showen correctly with "Adwaita" as theme.

```diff
git clone https://gitlab.com/Zwerg12/picplanner.git
cd picplanner
meson builddir
cd builddir
ninja
ninja install
```

## Screenshots

<a href='https://gitlab.com/zwarf/picplanner/-/blob/master/screenshots/screenshot-1.png'><img height='300px' alt='screenshot-large' src='https://gitlab.com/zwarf/picplanner/-/raw/master/screenshots/screenshot-1.png'/></a>
<a href='https://gitlab.com/zwarf/picplanner/-/blob/master/screenshots/screenshot-2.png'><img height='300px' alt='screenshot-large' src='https://gitlab.com/zwarf/picplanner/-/raw/master/screenshots/screenshot-2.png'/></a>
<a href='https://gitlab.com/zwarf/picplanner/-/blob/master/screenshots/screenshot-3.png'><img height='300px' alt='screenshot-large' src='https://gitlab.com/zwarf/picplanner/-/raw/master/screenshots/screenshot-3.png'/></a>
<a href='https://gitlab.com/zwarf/picplanner/-/blob/master/screenshots/screenshot-4.png'><img height='300px' alt='screenshot-large' src='https://gitlab.com/zwarf/picplanner/-/raw/master/screenshots/screenshot-4.png'/></a>
