Month: December 2016

END OF YEAR REPORT

END OF YEAR REPORT

The more blog you write, the more you wish you had written less.

Today, is the last day of the year. So, I thought to write a blog summarising all year activities. Actually, this is my luckiest year because I enjoyed it a lot. You might be thinking why?

I entered to the Great Developers Group this year only. All TCC members are so nice and helpful. Although, I learned a lot of things being there but want to share one.

You should be open source towards to your work.;)

Apart from it, I had my 6_weeks_training in this year. I enjoyed it a lot.

First time in a life , I tried to write a business plan on my own idea, submitted to TiE and gone up too 2nd round also. Didn’t expected at all.

Today, I completed half century of my blogs and this my 51st blog(shagun);)

Last but least,

HAPPY NEW YEAR IN ADVANCE

 

Customizing OSM Language

While searching on how to customize the language of the osm map. I got to know very interesting points about it.

These points are listed here.

  1. For handling common software tasks such as memory management, file system access, regular expressions, and XML parsing, Mapnik utilizes the Boost C++ libraries.
  2. osm2pgsql is a utility, that converts OpenStreetMap data into a format that can be loaded into PostgreSQL.
  3. For data transfer, several database dumps are created, which are available for download. The complete dump is called planet.osm. These dumps exist in two formats, one using XML and one using the Protocol Buffer Binary Format (PBF).
  4. $sudo -u amisha renderd -f -c /usr/local/etc/renderd.conf

In the above command “renderd -f” starts deamon in foreground mode, good for troubleshooting.

Now, coming to the main point i.e. how to customize the language of map. Frankly speaking, I havn’t done it yet completely, but in a process to do it.

I am following the link to do the same as suggested by my senior “Vigasdeep”. It’s link to the github repo.

STEPS

  1. Clone it.
  2. Install the following packages.
sudo apt-get install libicu-dev libkakasi2-dev postgresql-server-dev-9.3 build-essential debhelper pandoc

Then I installed the library “libutf8proc-dev” through the command

$sudo apt-get install libutf8proc-dev

Unfortunately, I got an error.utf

Then my senior “Amarjeet” helped me to solve the issue. I installed it from source https://github.com/tkelman/libutf8proc

Clone the repo to the home directory and then run the commands

$sudo make && sudo make install

Upto this we have installed all the packages.

  1. Then run the command in the repo “mapnik-german-l10n”

$sudo make && sudo make install

  1. The build process will need to download country_osm_grid.sql from https://github.com/twain47/Nominatim/raw/master/data/country_osm_grid.sql and put it inside your build directory.

  2. Load the required extensions into your database

CREATE EXTENSION postgis;
CREATE EXTENSION hstore;
CREATE EXTENSION unaccent;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION osml10n;

While creating the last extension I got an error

gis=# CREATE EXTENSION osml10n;
ERROR:  could not load library “/usr/lib/postgresql/9.3/lib/osml10n_kanjitranscript.so”: libutf8proc.so.1: cannot open shared object file: No such file or directory

Actually the database server was not able to find the “libutf8proc.so.1” file there. I was having the same file under the path /usr/local/lib/libutf8proc.so.1. So I copy pasted it.

But still the error is not solved.

Then I got to know that the file should have permissions 644 but I have given it 777. After resolving it I was able to create the extension.

  1. Afterwards I will able to do the following:
gis=# select osml10n_translit('北京');
 osml10n_translit
---------------
 běi jīng
 (1 row)
gis=# select osml10n_kanji_transcript('漢字');
 osml10n_kanji_transcript
---------------------
 kanji
 (1 row)

gis=# select osml10n_translit('भारत');
osml10n_translit
---------------------
bhārata
 (1 row)

The next procedure I will publish in my next blog.

So till then, have  a good time.

 

 

Power of Terminal

Power of Terminal

Today, I tried to use browser through terminal.

Here the question arises, Why there is a need of it even we have well designed GUI web browsers?

The answer to this question is

  1. We can use browser of remote server through the terminal. This would take internet of remote server.
  2. Getting close to command line interface;)
  3. The data usage is less to a great extent.

There are actually bunch of text-mode web browsers like elink, lynx, w3m etc.

But I tried w3m through this link.

w3m is terminal web browser for linux. It supports for the images, tabs, tables, frames and other features.

Installation

sudo apt-get install w3m w3m-img

Here w3m-img package is for inline images.

Well termianls like GNome, KDE console don’t support w3m images. Other terminals like Xterm can.
So, open Xterm terminal and try to explore it.

I here tell you few tips to use browser from it.

w3m google.com

will open google page.

Right click button also functions in w3m.

Shift + T —– Open new tab.
Shift + [ —– Switch between tabs.
Shift + H —– w3m help page.
Shift + B —– Go back a page.
Shift + w —– Move to previous word.
w              —– Move to next word.
esc +m    —– pop-up link list menu.
[               —– Go to the first link.
]               —– Go to the last link.

Use arrow keys to move the cursor. If you want to type in a text box, select the text box with your cursor and press Enter before typing your text. Then select the button

A very very interesting feature of w3m is instead of pressing arrow keys and tab again and again to move to the desired location use the shortcut “esc + m” to pop up the list and select one of it. It will automatically render to the desired location.

I enjoyed a lot while doing this. I hope you will also.