Changes

Jump to: navigation, search

GeoView

2,887 bytes added, 22:52, 30 January 2022
m
no edit summary
Work in progress{{man warn|The GeoView addon was originally integrated into earlier Gramps versions than Gramps 3.3 then I created a new map renderer since some month now. go there : [[GeoViewHelp]]|The newer [[Geography]] renderer based on OsmGpsMap was integrated into Gramps 3.3, see the [[User_manual|user manual]] for further information <br>[[Gramps_{{man version}}_Wiki_Manual_-_Categories#Geography_Category]]}}
{{man warn|Instructions for the older GeoView addon that was based on webkit/gtkmozembed}} '''All we need to understand and test GeoView.'''
== Why GeoView ? ==
I would like to see my ancestors all around the world on a map. And if possible, I would like to see them moving during time periods.
== Installation The future == For approximatively three years, geoview is based on html technology using webkit or gtkmozembed.We have some problems depending on the distribution, the webkit version, ... : crashes, messages on console, ... The mecanism for rendering the map is asynchronous and difficult to manage : the renderer and gramps are two different things which don't easily communicate. So, I am working on a new map renderer since some month now. If you are impatient, go there : [[Geography]]  ==GeoView is divided in two parts : ==This module is now in two parts in 3.2. I'll try to explain how to install them and how to use them. You have two new views named Geography (geoviev) and Web (htmlrenderer).=== The html rendering engine ===This module is called htmlrenderer. We use it when we use the Web view.
How to do this easily and with the minimum of software to install ?
==== The html kits ====
The Html rendering machine is used to show remote and local "urls" inside of GRAMPS. We need to be connected to the network. You probably also need a broadband connection to have a smooth result. Try eg Google maps in your browser to see if your internet connection is sufficiently fast.
 
GRAMPS can use two different kind of engines, webkit or gtkmozembed, to view HTML pages. If they are not installed, you'll never see [[Geography]] and the Web appearing among your views. If you are looking on how to install these, see [[GeoView#How_to_get_the_HTML_kits_.3F| below]]
 
If both two kits are installed, webkit will be used.
===== WebKit =====
Be aware, WebKit is always in development.
 
More and more projects are integrating webkit ...
Eg, epiphany states:
*http://blogs.gnome.org/epiphany/2008/04/01/the-future-of-epiphany/
 
WebKit uses the libsoup library for the proxy.
===== Gecko ( GtkMozEmbed ) =====
What will gtkmozembed be in the future ?
 
The embedding API of Gecko (GtkMozEmbed) has been unmaintained and stagnant for a long time.
 
GtkMozEmbed is proxy aware. I implemented this and I use the http_proxy environment variable.
Authentication is allowed. The http_proxy format used is :
 
''http://[user:password@]proxy:port/''
==== The proxies ====
Most people don't need a proxy. The majority of us are connected directly to internet. In this case, forget all this.
 
You need a proxy only if you installed one or if you depend on some internet providers.
 
You need to set the environment variable http_proxy or use your desktop proxy configuration.
 
==== How to get the HTML kits ? ====
It depends on the distribution you're working on ! They are listed in reverse order.
 
python-webkitgtk is also called pywebkitgtk in some distributions.
 
===== debian =====
====== webkit ======
''aptitude install python-webkit''
====== gecko ======
''aptitude install python-gnome2-extras''
or
''aptitude install python-gtkmozembed''
 
===== fedora =====
====== webkit ======
You must use : WebKit-gtk
 
''yum install WebKit-gtk pywebkitgtk''
 
====== gecko ======
 
===== MAC/OS X =====
====== webkit ======
WebKit is the standard renderer on OSX, but WebKitGtk doesn't work with the installed WebKit framework. You must build WebKitGtk or obtain it via Fink or MacPorts. Gtk-OSX provides a patch for building WebKitGtk with quartz. Once WebKitGtk is built or installed, PyWebKitGtk installs and works well.
====== gecko ======
 
===== mandriva =====
====== webkit ======
for 2009.0 and 2009.1:
Use the package manager and install python-webkitgtk or :
''urpmi python-webkitgtk''
====== gecko ======
Seems not to work. Causes segmentation fault.
 
===== suse =====
====== webkit ======
* libwebkit-1_0
 
I didn't test GeoView on suse or opensuse. I need some feedback.
 
I found on example in :
ftp5.gwdg.de/pub/opensuse/repositories/home:/bmotmans/openSUSE_<VERSION>/<ARCH>/
 
Replace <VERSION> by the fedora version you use. ie : Factory, 10.3, 1.0, ...
 
Replace <ARCH> by i586, x86_64, ...
 
* pywebkit
 
http://packages.opensuse-community.org/index.jsp?searchTerm=pywebkit
 
* pyton-webkit
 
On OpenSUSE 11.3 that is the appropriate name.
 
====== gecko ======
 
===== ubuntu =====
====== webkit ======
 
''aptitude install python-webkit''
 
====== gecko ======
If you want gtkmozembed on ubuntu,
you must install : python-gnome2-extras or python-gtkmozembed depending on you distrib version.
 
''aptitude install python-gnome2-extras''
or
''aptitude install python-gtkmozembed''
 
===== windows XP/Vista =====
====== webkit ======
 
* WebKitGTK is the port of the portable web rendering engine WebKit to the GTK+ platform on Windows. This zip file contains webkitgtk itself and all needed dynamic link libraryes (DLL). You will need [http://www.7-zip.org 7zip] to extract its contents
''This file is highly experimental and all functions may not work as expected!''
** [http://www.gramps-project.org/wiki/images/d/d2/WebKitGTK-1.1.16.zip WebKitGTK-1.1.16.zip]
 
* Update to version 1.1.23 (binary and devel files only)
** [http://www.gramps-project.org/wiki/images/d/db/WebKitGTK-1.1.23-win32.zip WebKitGTK-1.1.23]
 
* [http://code.google.com/p/pywebkitgtk PyWebKitGtk] provide Python bindings to WebKitGTK
** [http://www.gramps-project.org/wiki/images/4/4d/PyWebKitGTK-1.1.7.win32-py2.6.zip PyWebKitGTK-1.1.7.win32-py2.6.msi]
 
[[All In One Gramps Software Bundle for Windows|Gramps AIO package]] contains WebKitGTK-1.2.5 and PyWebKitGTK-1.1.8
 
===== ... =====
Your distributions are welcomed ...
=== The Geographic part ===
This module is called geoview. It depends on the htmlrenderer module.
===== In GRAMPS 3.1.x =====
If you really are in 3.1.2 and greater, you only have the geoview module. The htmlrenderer is included in geoview.
For installing the html renderer, you can see the documentation above.
GeoView is one solution. In GRAMPS 3.1.x it It is present as an experimental view you can activate. For GeoView to work you need to:
# change the GRAMPS configuration file to list the view in the list of views
# install the required backend so you can see webpages inside of GRAMPS.
# set the GeoView Preferences
# use the appropriate latidude and longitude format in your data (Note: the [[Addon:Place completion tool]] can look up latitude and longitude of the places defined in GRAMPS.)
The first is simple to achieve. Start a text editor and go to your gramps home directory, and open the keys.ini file. Scoll down to the interface section, and look for the ''data-views'' variable. On a clean install of GRAMPS, this variable is normally:
[[Image:GeoViewPreferences.png]].
== The html kits ==The Geoview shows internet Openlayers is free too and uses by default OSM map services inside . A lot of GRAMPS with your genealogical data marked. Although there is no visual web browsing, that is what GRAMPS is actually doing, so we need to be connected to the network. You probably also need a broadband connection to have a smooth result. Try eg Google private or non free maps in your browser to see if your internet connection is sufficiently fastdepends on OpenLayers.
GRAMPS can use two different kind The most interesting is the IGN ( Institut Géographique National Français )[http://www.geoportail.fr/visu2D.do?cg=djoxLjEqYzptZXRyb3BvbGUqY3Y6MS4wKnZ2OjEuMSp4eToyLjM0NTI3NDM5ODQwMTE4ODN8NDguODYwODMyNTU3MTczODgqczoxMCpwdjoxLjAqcDpkZWNvdXZlcnRlKmw6UGhvdG98fHwsU2NhbnwxfDEwMHwsQ2Fzc2luaXwxfHw%3D] which offers an old map of engines, webkit or gtkmozembed, to view HTML pagesFrance ( about 1780 ) but this provider needs a key. If they are not installed, youI'll never see GeoView appearing among your viewsspeak about keys later. If you are looking on how to install these, see [[GeoView#How_to_get_the_HTML_kits_.3F| below]]
If both two kits are installedThen you have Googlemaps, webkit will be usedYahoo! maps, Microsoft maps, ... ===== In GRAMPS 3.2 =====You don't need to set the providers. The first one is always OpenStreetMap and the alternate is GoogleMaps.
Even if ==== Supported longitude/latitude formats ====When you have create/modify a HTML kit installedplace, you can always say the possible formats used for longitude/latitude are: I don't mind ! I don't want to see the GeoView.For this, you can disallow Geoview in the Internet Maps preferences tab.
=== WebKit ===Be aware, WebKit is always in development.* Floating point
More and more projects are integrating webkit e.g.+12.Eg, epiphany states: *http://blogs0154 -124.gnome.org/epiphany/2008/04/01/the-future-of-epiphany/3647
==== Proxies ====WebKit uses the libsoup library. You need to set the environment variable http_proxy.* Classic
=== Gecko ( GtkMozEmbed ) ===What will gtkmozembed be in the future ?e.g. 50°52'21.92"N 124°52'21.92"E
The embedding API of Gecko degree symbol can be either UTF-8 code c2b00a, UTF-8 code c2ba0a or the hash (GtkMozEmbed#) has been unmaintained and stagnant for a long timecharacter.==== Proxies ====GtkMozEmbed is proxy aware. I implement this and I use the http_proxy environment variable.Authentication is allowedThe seconds symbol can be either one double quote (") character or two single quote (') characters. The http_proxy format used is :
http://[user:password@]proxy:port/* Colon
To confirm e.g. -50: You need to use gnome-control-center to set the proxy52:21.92 124:52:21.92
== Supported longitude/latitude formats ==When you create/modify a place, the possible formats used for longitude/latitude are :* Modified GEDCOM
'D.D4' : degree notation, 4 decimals eg +12.0154 , -124e.3647 'Dg.D8' : degree notation, 8 decimals (precision like ISO-DMS) eg +12.01543265 , -0154N 124.36473268 'DEG' : degree, minutes, seconds notation eg 50°52'21.92"N , 124°52'21.92"E ° has UTF-8 code c2b00a or N 50º52'21.92" , E 124º52'21.92" º has UTF-8 code c2ba0a The character for seconds can be either one double quote " or two single quote ' 'DEG-:' : degree, minutes, seconds notation with : eg -50:52:21.92 , 124:52:21.92 'ISO-D' : ISO 6709 degree notation i.e. ±DD.DDDD±DDD.DDDD 'ISO-DM' : ISO 6709 degree, minutes notation i.e. ±DDMM.MMM±DDDMM.MMM 'ISO-DMS' : ISO 6709 degree, minutes, seconds notation i.e. ±DDMMSS.SS±DDDMMSS.SS3647E
==== The maps providers ====
There are a lot of providers. Some are free.
OpenStreetMap depends on the community and the maps are very light depending on the country. Nevertheless, the community made an extraordinary job and the quality is improving rapidly. And you can [http://openstreetbugs.appspot.com/ help make it better]! We can say OpenStreetMap is and will be the map GRAMPS uses per default.
Openlayers is free too and uses by default OSM map. A lot of private or non free maps depends on OpenLayers. The most interesting is the IGN ( Institut Géographique National Français )[http://www.geoportail.fr/visu2D.do?cg=djoxLjEqYzptZXRyb3BvbGUqY3Y6MS4wKnZ2OjEuMSp4eToyLjM0NTI3NDM5ODQwMTE4ODN8NDguODYwODMyNTU3MTczODgqczoxMCpwdjoxLjAqcDpkZWNvdXZlcnRlKmw6UGhvdG98fHwsU2NhbnwxfDEwMHwsQ2Fzc2luaXwxfHw%3D] which offers an old map of France ( about 1780 ) but this provider needs a key. I'll speak about keys later. Then you have Googlemaps, Yahoo! maps, Microsoft maps, ... === mapstraction ====
Like you can see, it's impossible to implement all providers maps. For this reason, some people created an api over all these providers api.
During testing with a places database for France ( > 35000 markers ), I set the limit to 20 markers which permit to create 1760 pages without problems. So we can say we have an unlimited number of markers. Only the file system space will limit us.
==== The provider Key ====
GRAMPS is not a web site. Keys are mostly only for web sites.
In GeoView, I use a specific functionality : we are working on a local file instead of an url, so we normally don't need a key.
We hope it is understood that our choice of maps is limited even if mapstraction can do more.
===== Constraint =====
We have no key, so we have a restricted access : About 10,000 to 15,000 requests by IP per day depending on the provider.
I think it is sufficient for the lambda genealogist.
== The proxies == Creating new places from the Geography view ====Most people don't need a proxyYou center the map for the place you want to create.You can use the double click for that. The majority of us When you are connected directly to internetsure the position is OK, click on the "+" button in the tools bar. In this caseNow, forget the place editor is opened. Enter all the field necessary for thisnew place then click on the OK button. That's all.==== Associate a new position to an already existing place ====You center the map for the place you want to modify like for creating a new place.When you are sure the position is OK, click on the "map" button in the tools near the "+" button described above.A places list is opened. Choose the place you want to modify then click on the OK button.
You need a proxy only if you installed one or if you depend on some internet providers. == How can use this method to get the HTML kits ? ==It depends on modify the distribution position you're working on ! They are listed used in reverse order. python-webkitgtk is also called pywebkitgtk === ubuntu ======= webkit ====You need libwebkit and python-webkitgtk. Add to the /etc/apt/sources.list :  # for python-webkitgtk deb http://ppa.launchpad.net/gwibber-team/ubuntu hardy main # for libwebkit deb http://ppa.launchpad.net/webkit-team/ubuntu hardy main It's from nightly builds, so it can crash. If you have some crash and want to install the working package, you can get libwebkitfrom the following url : https://edge.launchpad.net/~stemp/+archive ==== gecko ====If you want gtkmozembed on ubuntu, you must install : python-gnome2-extras It's stable but installs many gnome packages even if you are on a KDE based distribution. If you installed the Ubuntu GRAMPS package you already have this package as it contains the spell checking GRAMPS uses. However, there is an open bug with debian/ubuntu to split this mega package as gtkmozembed and spelling don't need the other GNOME components, so these package names might change in the futureprior creation. === suse =Results====== webkit ====* libwebkit-1_0 I didn't test GeoView on suse or opensuse. I need some feedback. I found on example in : ftp5.gwdg.de/pub/opensuse/repositories/home:/bmotmans/openSUSE_<VERSION>/<ARCH>/ Replace <VERSION> by the fedora version you use. ie : Factory, 10.3, 1.0, ... Replace <ARCH> by i586, x86_64, ... * pywebkit http://packages.opensuse-community.org/index.jsp?searchTerm=pywebkit ==== gecko ======= mandriva ======= webkit ======== gecko ======= fedora ======= webkit ====You must use : WebKit-gtk  yum install WebKit-gtk pywebkitgtk ==== gecko ==== === debian ======= webkit ====This is the same packager for ubuntu and debian, so go to the ubuntu paragraph.==== gecko ====install the python-gtkmozembed package.=== windows XP/Vista ===Perhaps the following link can help windows developers : http://priscimon.com/blog/2008/06/04/four-easy-steps-to-running-webkit-on-windows/ === MAC/OS X ======= webkit ====This is standard on MAC. Can someone confirm this.Is there a python-webkit package on MAC ?==== gecko ====== ... ==Your modifications are welcomed ... ==Results==
<gallery>
Image:Geoview4.png|Fig.4 All places with coordinates on Family Tree
</gallery>
 
==== If you get a crash when starting gramps ====
It's probably a webkit problem.
So, you have two possibilities :
===== Remove the webkit rendering engine only =====
Remove webkit and install gtkmozembed (gecko) is not already installed. See the specific package for your distribution.
You'll have the gecko rendering.
===== Remove all rendering engines =====
Remove python-webkit and python-gtkmozembed. You'll never see geoview. See the specific packages for your distribution.
 
==See also==
* [[GeoViewHelp]] Addon
[[Category:GEPS|G]]
[[Category:Plugins]]
[[Category:Developers/General]]
[[Category:Views|G]]

Navigation menu