Marble: Difference between revisions

    From KDE TechBase
    (Remove links to pages moved to community wiki)
     
    (50 intermediate revisions by 9 users not shown)
    Line 4: Line 4:


    == About Marble ==
    == About Marble ==
    ;[[/Devices_and_Use_Cases|Devices and Use Cases]]
    ;[[/FAQ|Marble FAQ]]
    ;[[/FAQ|Marble FAQ]]


    Line 15: Line 14:


    === With C++ ===
    === With C++ ===
    ==== Intro ====
    ;[[/MarbleCPlusPlus|Hello World]]
    ;[[/MarbleCPlusPlus|Hello World]]
    ;[[/MarbleMarbleWidget|Changing basic map properties]]
    ;[[/MarbleMarbleWidget|Changing basic map properties]]
    ;[[/MarbleSignalsSlots|Creating a window with controls]]
    ;[[/MarbleSignalsSlots|Creating a window with controls]]
    ;[[/MarbleGeoPainter|Painting onto the map]]
     
    ;[[/LayerInterface|Drawing in Custom Layers]]
    ==== GeoData ====
    ;[[/Runners/DisplayGeoDataPlacemark|Displaying GeoData Documents]]
     
    ==== Online Services ====
    ;[[/OnlineServices|Creating new Online Services]]
     
    ==== Routing ====
    ;[[/Routing/BasicRouting|Basic Routing]]
    ;[[/Routing/BasicRouting|Basic Routing]]
    ==== Runners ====
    ;[[/Runners/Search|Searching for Points of Interest]]
    ;[[/Runners/Search|Searching for Points of Interest]]
    ;[[/Runners/ReverseGeocoding|Reverse Geocoding]]
    ;[[/Runners/ReverseGeocoding|Reverse Geocoding]]
    ;[[/Runners/Parse|Parsing Files]]
    ;[[/Runners/Parse|Parsing Files]]
    ==== GeoPainter ====
    ;[[/MarbleGeoPainter|Painting onto the map]]
    ;[[/LayerInterface|Drawing in Custom Layers]]
    ;[[/Runners/PaintingGeoDataLineString|Painting LineString]]
    ;[[/Runners/PaintingGeoDataLineString|Painting LineString]]
    ;[[/Runners/DisplayGeoDataPlacemark|Displaying GeoData Documents]]
    ;[[/MarblePython|with Python]]


    ;[[/MarbleDBus|via a shell script]]
    === With Python ===
    ==== Intro ====
    ;[http://techbase.kde.org/Projects/Marble/MarblePythonInstructions Installing Marble's Python bindings]
    ;[[/MarblePythonHello|Hello World]]
    ;[[/MarblePythonMarbleWidget|Changing basic map properties]]
    ;[[/MarblePythonSignalsSlots|Creating a window with controls]]


    == How to become a Marble developer ("Marblehead") ==
    ==== Loading Files ====
    ;[[/Runners/MarblePythonLoadingKML|Loading KML files into Marble]]
    ;[[/Runners/MarblePythonLoadingOSM|Loading OSM files into Marble]]


    === So you are new to Marble development ... ===
    ==== GeoData ====
    ;[[/Runners/MarblePythonDisplayGeoDataPlacemark|Display GeoData Placemark]]
    ;[[/Runners/MarblePythonVehicleTracking|Vehicle Tracking]]


    <b>Welcome!</b>
    ==== Routing/Runners ====
    This part of the Python API has not yet been ported and the tutorials could not be completed. [https://bugs.kde.org/show_bug.cgi?id=329364 see this bug for more info].


    Here you'll get all the information you need to start Marble development:
    ==== GeoPainter ====
    ;[[/Routing/MarblePythonGeoPainter|Painting onto the map]]
    ;[[/MarblePythonLayerInterface|Drawing in Custom Layers]]


    ;[[/GoMarble|How to become a Marble Developer]]


    == Compiling Marble ==
    ;[[/MarbleDBus|via a shell script]]
    ;[[/LinuxCompiling|Compiling on Linux]]
    ;[[/WindowsCompiling|Compiling on Windows]]
    ;[[/MaemoEnvironment|Compiling on Maemo]]
    ;[[/MeeGoEnvironment|Compiling on MeeGo]]
    ;[[/PlasmaActiveEnvironment|Compiling for Plasma Active]]
    ;[[/MacCompiling|Compiling on Mac OS]]
    ;[[/QtCreator|Setting up QtCreator for Marble Development]]
     
    == Packaging Marble ==
     
    ;[[/NewMarbleMoldules|New Marble Modules]] (future packaging advice)
     
    Here is some advice about how packaging is supposed to happen on the various platforms that are supported.
     
    ;[[/LinuxPackaging|Packaging for Linux]]
    ;[[/WindowsPackaging|Packaging for Windows]]
    ;[[/MaemoPackaging|Packaging for Maemo]]
    ;[[/MeeGoPackaging|Packaging for MeeGo]]
    ;[[/MacPackaging|Packaging for Mac]]
     
    == Tools for Marble ==
     
    Here are some tools and checks that are performed on marble code:
    ;[https://bugs.kde.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=marble&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&cmdtype=doit&order=Importance Marble Open Bugs]
    ;[http://reviewboard.kde.org/groups/marble/ Review Board]
    ;[http://api.kde.org/4.x-api/kdeedu-apidocs/marble/html/index.html API Docs (KDE Trunk)]
    ;[http://www.englishbreakfastnetwork.org/apidocs/apidox-kde-4.x/kdeedu-marble.html APIDOX reports]
    ;[http://www.englishbreakfastnetwork.org/krazy/reports/kde-4.x/kdeedu/marble/index.html Krazy reports]
     
    == Programming Coordination ==
     
    Here are a few links to various issues we are working on:
    ;[[/Gsoc2010| Gsoc Students projects 2010]]
    ;[[/GsocGit| Use of git(orious) for GSOC]]
    ;[[/TODO|TODO list]]
    ;[[/MaemoTODO|Maemo specific TODO list]]
     
    ;[[/GSoC2011| GSoC Students' projects 2011]]
    ;[http://community.kde.org/SoCiS/2011/Ideas#Marble_Virtual_Globe ESA SoCIS 2011 ideas]
     
    ;[[/GSoC2012| GSoC Students' projects 2012]]
     
    === Translation ===
    ;[[/MapTranslation|Map Translation]]
    ;[[/UiTranslation|UI Translation]]
    ;[[/GeoDataCoordinatesTranslation|GeoDataCoordinates Translation]]
     
    === User Interface ===
    ;[[/Mockups|Mockups]]
    ;[[/IconStatus|Icon Status]]
     
    === Texture Mapping ===
    ;[[/TextureNG|Texture Mapping]]
     
    === GeoData Library / KML ===
    The base classes to manipulate geographic data
    ;[[/GeoData|GeoData Presentation]]
    ;[[/GeoData/GeoDataUse|Use cases for GeoData classes]]
    ;[http://websvn.kde.org/*checkout*/trunk/KDE/kdeedu/marble/src/lib/geodata/data/README.html GeoData API Description]
    ;[[/GeoData/GeoDataParsing|Parsing GeoData]]
    ;[[/GeoData/GeoDataWriter|Writing GeoData]]
    ;[[/GeoData/PointerVsImplicitShare|Pointer vs. Implicit Share]]
     
     
    ;[[/KMLStatus|KML Status]]
    ;[[/GPXStatus|GPX Status]]
     
    Using GeoData:
    ;[[/Placemark|Placemarks Management]]
    ;[[/ModelView|Review of Model-View use in marble]]
     
    === Geo Graphics View ===
    ;[[/GeoGraphicsViewOverview|Overview of the GeoGraphicsView]]
    ;[[/GraphicsViewGeoParser| Interaction between GeoData and GeoGraphicsView]]
     
    === GeoPainter / DGML ===
    ;[[/GeoPainter|GeoPainter]]
    ;[[/Dgml|DGML]]
     
    === Plugin Interfaces ===
    ;[[/Plugins|Plugin interfaces]]


    === Marble Runner ===
    === Marble Runner ===
    Line 129: Line 68:
    ;[[/RunnerHOWTO|Runner HOWTO]]
    ;[[/RunnerHOWTO|Runner HOWTO]]


    === Online Services ===
    === Documentation ===
    ;[[/OnlineServices|Creating new Online Services]]
    Creating '''Custom Marble Map Themes'''
    ;[[/ListOfPossibleOnlineServices|List of possible Online Services]]
    ;[[/OSMSlippyMaps|How to integrate OSM "slippy" maps into Marble]]
    ;[[/HistoricalMaps|How to create Historical Map Themes]]
    ;[[/CustomPlanetMaps|How to create maps for other planets, moons etc.]]


    === Projections ===
    ;[[/CustomMaps|Reference: How to customize maps]]
    ;[[/WinkelIii|Winkel III]]
    ;[[/RobinsonProjection|Robinson projection]]
    [http://www.radicalcartography.net/?projectionref A little overview of map projections]


    === Tile Download ===
    ;[[/PalaeoMaps|Global Palaeogeography]]
    ;[[/VectorTilingProposal|Vector Tiling Proposal]]
    ;[[/TileDownload|Tile Download]]


    === Documentation ===
    ;[[/CustomMaps|How to customize maps]]
    ;[[/PNTFiles|How to change the PNT files used by Marble]]
    ;[[/PNTFiles|How to change the PNT files used by Marble]]
    ;[[/MarblesSecrets|Marble's Secrets]]
    ;[[/MarblesSecrets|Marble's Secrets]]
    ;[[/ProxyConnection|How to use the Proxy]]
    ;[[/ProxyConnection|How to use the Proxy]]


    === GeoClue / GPS ===
    == Maps ==
    ;[[/GeoClue|GeoClue support in Marble]]
    === OSM Vector Map ===
     
    ;[[/OSMVectorCompile|How to compile Marble with vector support]]
    === XDG Base Directory Specification ===
    ;[[/OSMVectorTileCreation|How to build tiles]]
    ;[[/xdg|XDG Base Directory Specification]]
     
    == Mapping Coordination ==
    Possible maps we could use:
    * [http://www.unearthedoutdoors.net/global_data/true_marble/download TrueMarble Global 250m images]
    * [http://onearth.jpl.nasa.gov/ OnEarth NASA satellite images]
    * [http://worldwindcentral.com/wiki/Add-on:ZoomIt! ZoomIt! (in parts proprietary)]
    * [http://sos.noaa.gov/datasets/ NOAA Science on a Sphere]
    * [http://efele.net/maps/tz/world/ Olsen Time Zone map in Shapefile format].  Public Domain.  Scripted to generate from current tz file.
     
    === Natural Earth Vector Map ===
    ;[[/NaturalEarth|A proposal to use the Natural Earth vector map]]
     
     
    === Documentation ===
    ;[[/HistoricalMaps|How to create Historical Maps]]
    ;[[/CustomMaps|How to create Custom Maps]]
     
    ;[[/PalaeoMaps|Global Palaeogeography]]


    == Routing ==
    == Routing ==
    ;[[/OnlineRoutingImplementation|Implementation of Online-Routing]]
    ;[[/OnlineRoutingImplementation|Implementation of Online-Routing]]
    ;[[/MaemoOfflineRouting|Installation of Marble and Gosmore on Maemo]]
    ;[[/MaemoOfflineRouting|Installation of Marble and Gosmore on Maemo]]
    ;[[/RoutingRoadmap|Routing Roadmap]]
    ;[[/RoutingInstructions|Routing Instructions]]
    == valgrind  ==
    if you want to fix memory leaks, you can run valgrind with:
    valgrind --leak-check=full --track-origins=yes --num-callers=30 marble 2>&1 | tee MARBLE_MEMCHECK
    == Meetings ==
    Summaries and logs of scheduled Marble meetings can be found on the following pages:
    ;[[/MarbleMeeting20081029|Wednesday Nov. 10th, 2008]]
    ;[[/MarbleMeeting20101107|Marble Weekend Sprint, Nov. 5-7]]

    Latest revision as of 10:27, 21 October 2016


    About Marble

    Marble FAQ

    Success Stories: 3rd party applications using the Marble Library

    Software that makes use of Marble

    Tutorials: How to use the Marble Widget in your application

    with Qt Designer
    On Windows, with Qt Creator/Qt Designer

    With C++

    Intro

    Hello World
    Changing basic map properties
    Creating a window with controls

    GeoData

    Displaying GeoData Documents

    Online Services

    Creating new Online Services

    Routing

    Basic Routing

    Runners

    Searching for Points of Interest
    Reverse Geocoding
    Parsing Files

    GeoPainter

    Painting onto the map
    Drawing in Custom Layers
    Painting LineString

    With Python

    Intro

    Installing Marble's Python bindings
    Hello World
    Changing basic map properties
    Creating a window with controls

    Loading Files

    Loading KML files into Marble
    Loading OSM files into Marble

    GeoData

    Display GeoData Placemark
    Vehicle Tracking

    Routing/Runners

    This part of the Python API has not yet been ported and the tutorials could not be completed. see this bug for more info.

    GeoPainter

    Painting onto the map
    Drawing in Custom Layers


    via a shell script

    Marble Runner

    Coordinate Runner
    OSM Runner
    Runner HOWTO

    Documentation

    Creating Custom Marble Map Themes

    How to integrate OSM "slippy" maps into Marble
    How to create Historical Map Themes
    How to create maps for other planets, moons etc.
    Reference: How to customize maps
    Global Palaeogeography
    How to change the PNT files used by Marble
    Marble's Secrets
    How to use the Proxy

    Maps

    OSM Vector Map

    How to compile Marble with vector support
    How to build tiles

    Routing

    Implementation of Online-Routing
    Installation of Marble and Gosmore on Maemo