Mapzen Alternative – Build your server

In this post we are focusing on Mapzen Alternative. Recently an open source mapping company Mapzen announced it would shut down shortly with Its hosted APIs and support services going down too.

Mapzen Alternative – Build your own server

Mapzen tools help developers build wonderful interactive maps and equip them with search and routing services. This shut down created some serious issues for Mapzen user. Which includes many app developers, civic organisations and some government agencies etc. but here’s how everyone got saved. In Mapzen everything is open source and Mapzen only deals with open data from openstreetmap.

Now for Mapzen client’s, have only two options, i.e to switch to another hosted API that offers the similar functionality, or to Run their own servers with the open source projects powered by Mapzen services. 

Mapzen Server Setup with Open source projects

I recommend you guys to Build your own server as  Mapzen alternative. As Mapzen services are backed by open-source software projects and use open data. Now you can run open-source versions of Mapzen services.  Don’t worry guys if you don’t have any technical knowledge about how to configure the server, we are here to help. We can help you create your own server for your own business with every piece of functionality and service that Mapzen was providing.

If you want to Build your own server with Mapzen open source software as Mapzen alternative services, we are here to help you. We can help you achieve every functionality you want in your own new server.

Mapzen Alternative hosted API Programs:

Mapzen has a total list of Mapzen alternative hosted APIs which can fulfill the clients requirements like

  • Nextzen (A long-term support version of own Tilezen)
  • Mapbox and many.

We prefer using map server of our own or to hire services from GIS Experts, this would make a full control of your own system. Feel free to contact us If you need to build your server as Mapzen Alternative at Enginner Philosophy Web services Pvt. Ltd.

Please feel free to comment in given box for any help.


Install GeoServer for Ubuntu

Install GeoServer for Linux System. For producing any detail map, we need to have large detailed dataset. If it is about country level or world level analysis it may create huge problem with huge dataset. It can hang your system or slow down it. Even for browser it is dangerous because browser takes time or get in not responding mode. More than this you want to change or query data with rendering it on map, this will take much of your precise time.

To solve this problem we use some servers which can handle the dataset and provide us when required. For the map data we have one the great solution that is geoserver. What is geoserver and how it is helping us… geoserver is an open-source server written in Java that allows users to share, process and edit geospatial data. It helps us to display the information to the world. It has a great feature that using WMS (Web Map Services) standards it provides variety for output format.

Download and Install Geoserver in linux

To download and install Geoserver in Linux based system, please follow the content. First of all download the Geoserver zip folder. To download that navigate to link and click the Platform Independent Binary link.

Now make sure that you have already installed Java Runtime Environment (JRE) in
your system. if not, please visit website to download and install the JRE in your system. Currently Java 9 is not supported by geoserver so download JRE 8 from oracle.

Steps for installing GeoServer on Linux based operating system-

Step 1 for installing geoserver-

Extract the downloaded geoserver zip file. if you are not sure where to unzip it, navigate to usr/share folder and make a new folder name it as geoserver and unzip file in this folder.


Open the terminal in your system and add an environment variable to save the location of GeoServer by running given command
–> echo “export GEOSERVER_HOME=/usr/share/geoserver”

Step 3 for installing geoserver in ubuntu-

To make sure you are the owner of the geoserver folder, run the give command
–> sudo chown -R USER_NAME /usr/share/geoserver/
Here replace USER_NAME with your user name. The user name can be your system’s user name, then it will ask for the password so give your system password.

Step 4-

After this navigate yourself to the bin folder inside the unzip geoserver folder and run the file.To run this file on terminal, look given command
–> sh

Step 5 for installing geoserver-

Now your geoserver is installed successfully to check open the browser and run the given command

–> http://localhost:8080/geoserver

Give admin as username and geoserver as password. Create your workspace and datastores for various datasets and upload them on geoserver with various styles and icons.

To know how to publish and style vector and raster dataset on geoserver you can visit our previous tutorials as Publish style vector data on geoserver, Publish style raster data on geoserver or install geoserver in windows operating system.

If you have other query related to geoserver or publishing and styling dataset on geoserver, let us know via comments. We would definitely help you out.

QGIS Server – Configuration and Deploying QGIS Project

In our Previous Post QGIS Server – Installation we have talked about the installation process of QGIS Server in Ubuntu and it was easy. In previous post we get the XML file with GetCapabilities working in the browser. In the following sections, we will provide a sample configuration to set up a QGIS Server on Ubuntu with an exemplary QGIS project in QGIS project.
Let us start the process of Adding QGIS Server – Configuration and Deploying QGIS Project.

QGIS Server – Configuration and Deploying QGIS Project

To provide a new QGIS Server WMS, WFS or WCS, we have to create a QGIS project file with some data. Here, we use the ‘airport’ shapefile from the local dataset. and for adding the QGIS project with the server we go to the OWS server.

  • Import layer from Layer > Add Layer >Add Vector Layer.
  • Customize the layer, Define the colors and styles of the layers in QGIS and the project CRS, if not already defined.
  • Check the ‘Project Properties’ under the ‘Project’ menu, go to the ‘OWS server’ tab. Below is an example of of how I’ve set up mine.
    QGIS Server - Configuration and Deploying QGIS Projectand here is the bottom portion of the Properties page.
    QGIS Server - Configuration and Deploying QGIS Project
    Ensure under ‘Save Paths’ in the ‘General’ Tab it is set to ‘relative’. Note that the layers you are going to select for the WMS service are ticked under ‘Published’ in the WFS capabilities table.

Now for going ahead we need to repeat some steps from our previous post let’s have a look:

#go to cgi-bin folder
cd /usr/lib/cgi-bin/
#create a new QGIS folder
sudo mkdir airport
cd airport
#symlink in both the 'wms_metadata.xml' and the 'qgis_mapserv.fcgi' into project folder
sudo ln -s ../qgis_mapserv.fcgi
sudo ln -s ../wms_metadata.xml
#as well as linking your 'airport.qgs' file  into the '/usr/lib/cgi-bin/airport' folder
sudo ln -s /home/ep10/Documents/airports.qgs /usr/lib/cgi-bin/airport/airports.qgs
    • Now we move on to Adding QGIS project to server and for that Now we go to add the WMS layer in the project to connect it to server, so go to “Layer > Add Layer >Add WMS/WMTS Layer”. Now create a new connection and add your parameters for URL must be like this:
      and tick ‘ignore GetMap/GetTile URI’ and ‘ignore GetFeatureInfo URI’ boxes are ticked then ‘OK’. In your ‘airport’ project folder under ‘cgi-bin’ (/usr/lib/cgi-bin/airport/airports.qgs)

      QGIS Server - Configuration and Deploying QGIS Project
      QGIS Server – Configuration and Deploying QGIS Project

      Ensure your url is pointing at ‘http://localhost:81/cgi-bin/airport/qgis_mapserv.fcgi?’it is better to specify the full path to the qgis project file which is stored (in my case) in a ‘airport’ folder inside the ‘cgi-bin’ folder along with any shapefiles used as the source of your wms, ‘qgis_mapserv.fcgi’ file and ‘wms_metadata.xml’ files.
      Now in ‘Add Layer’ dialog select the ‘image encoding’ to PNG as it the best format with much specific coordinates.
      QGIS Server - Configuration and Deploying QGIS Project

    • Before we do go back in your QGIS project check you can add your newly created WMS layers back into QGIS as with any other WMS from a different source. When you hit the ‘connect’ button you should see a list of layers you created earlier, if not go back and check from the beginning of this post.
    • Select a layer and click ‘Add’ and the layer(s) should appear in your layer panel as normal qgis layers.

      QGIS Server - Configuration and Deploying QGIS Project
      QGIS Server – Configuration and Deploying QGIS Project
    •  Right Click on your largest area WMS layer and go to ‘Properties’ and make a note of the bounding box co-ordinates or Layer extent.
      QGIS Server - Configuration and Deploying QGIS Project

We can now use these co-ordinates in the ‘GetMap’ part in the url:-


Write this above URL in your browser and then you will get a PNG image in your browser with all the attribute data that the shp file had, So the output format will be an PNG image.

QGIS Server - Configuration and Deploying QGIS Project
QGIS Server – Configuration and Deploying QGIS Project

here in this part of the url locates the qgis-server executable on the apache2 host server.


This calls the WMS service, it’s version and the target spatial reference system as wwe are using ESPG:4326.


this REQUEST part is the request to get the ‘map’ from the source of the qgis project file that we saved after customization.


this BBOX sets the size of the retrieved image boundary and the ‘WIDTH’ and ‘HEIGHT’ of the image area in the browser.


the final part is the description and display of the layers of the WMS. Note there is no ‘STYLES’ specified because it in specified the .qgs file. Finally, the output format is a png image.

We could also add more parameters and requests into the url in order to enhance the visual appearance like:
REQUEST=GetFeatureInfo – this request retrieves the underlying attributes and geometry values and pixel location.
GetLegendGraphic – this looks for the view legend information.
bgcolor – sets the background map colour.

This is how we are going to have complete process of how we are Adding QGIS Project to server and configure the server. There are many more formats in which we can get the output data which we will hope to show you in future posts.

Did you tried adding QGIS project file with QGIS server? If you are facing any issue, do let us know by commenting below with the solution.

QGIS Server – Installation in Ubuntu

QGIS Server is one of the best server for web map rendering and it can be also used as back end for the GIS logic. This post summarizes notes about QGIS Server – Installation in Ubuntu 16.04 LTS. As we know QGIS Server is a  FAst Common Gateway Interface application and it is written in C++ which works  smoothly with a web server like Apache, Lighttpd and etc.

QGIS is an open source server which implements excellent quality  cartographic features for mapping. QGIS uses cartographic rules as a configuration language, both for the server configuration and for the user-defined cartographic rules. QGIS is performant, scalable and reliable server which allows user customisation of maps. QGIS also allows printing pdf data and QGIS is so easy to use as It has Python plugin support which allows it for fast and efficient development and deployment of new features.

QGIS desktop and QGIS Server use the same visualization libraries, the maps that are published on the web look the same as in desktop GIS. QGIS is a Desktop based Geographic Information System (GIS) Application for creating maps, editing, viewing and analyzing Geospatial data. Quantum GIS is a cross platform, free and open source application. It can be run on multiple operating system like Mac OS X, Windows, Ubuntu, Linux and Unix.

Lets begin the process of QGIS Server – Installation in Ubuntu 16.04 LTS and we will also be installing the QGIS desktop application.

QGIS Server Installation

In this post we are going to give you a short and simple installation tutorial with the simplest execution here.

First, as my server runs “xenial”, lets add the following package sources to /etc/apt/sources.list.d/xenial-gis.list (as described  in the QGIS Installation Documentation)

deb xenial main
deb-src xenial main

Now We need to update the package list and for that we need to add the key for further installation and for that write these lines of code in the command line prompt.

sudo gpg --keyserver --recv-key 1F9ADD375CA44993

sudo gpg --export --armor 1F9ADD375CA44993 | sudo apt-key add -

#updating the package list
sudo apt-get update && sudo apt-get upgrade

Now we are almost ready for the QGIS Server – Installation, we just need to add one more package i.e Apache2. It’s better to remove and re-install apache2 web server so that we start from the same set up:-
To remove Apache2:-

sudo apt-get --purge remove apache2

sudo apt-get autoremove

To re-install Apache2:-

  sudo apt install apache2 

Now we can surely install the QGIS Server and the necessary Apache2 package.

sudo apt-get update

sudo apt-get install python-qgis qgis-server libapache2-mod-fcgid

In case you would like to install QGIS Desktop (note that it’s not a common practice to install both client and server applications on the same machine), type:

sudo apt-get update

sudo apt-get install qgis-server python-qgis

Install the Apache server in a separate virtual host listening on port 81. Enable the rewrite module to pass HTTP BASIC auth headers:

sudo a2enmod rewrite
#edit file qgis-server-port.conf and write Listen 81 and then save it
sudo gedit  /etc/apache2/conf-available/qgis-server-port.conf

sudo cat /etc/apache2/conf-available/qgis-server-port.conf
Listen 81

sudo a2enconf qgis-server-port

Now edit the virtual host configuration, type:

sudo gedit /etc/apache2/sites-available/qgis-server.conf

then edit this file by writing this configuration:

<VirtualHost *:81>
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html

  ErrorLog ${APACHE_LOG_DIR}/qgis-server-error.log
  CustomLog ${APACHE_LOG_DIR}/qgis-server-access.log combined

  # Longer timeout for WPS... default = 40
  FcgidIOTimeout 120
  FcgidInitialEnv LC_ALL "en_US.UTF-8"
  FcgidInitialEnv LANG "en_US.UTF-8"
  FcgidInitialEnv QGIS_DEBUG 1
  FcgidInitialEnv QGIS_SERVER_LOG_FILE /tmp/qgis-000.log
  FcgidInitialEnv QGIS_PLUGINPATH "/opt/qgis-server/plugins"

  # Needed for QGIS HelloServer plugin HTTP BASIC auth
  <IfModule mod_fcgid.c>
      RewriteEngine on
      RewriteCond %{HTTP:Authorization} .
      RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory "/usr/lib/cgi-bin">
      AllowOverride All
      Options +ExecCGI -MultiViews +FollowSymLinks
      # for apache2 > 2.4
      Require all granted
      #Allow from all

now we have to enable the virtual host we just created and restart the Apache2 server

sudo a2ensite qgis-server
sudo service apache2 restart

we have finally completed the QGIS Server – Installation For Ubuntu 16.04 LTS.
Let’s test the installation before we proceed. The GetCapabilities request should already work, run this in your browser

QGIS Server Installation
QGIS Server Installation

You will get a result screen like this.

Congratulations! … We have Successfully created the QGIS server. Now create a QGIS project with some vector layers and save it in /home/username/file.qgs.

Adding a QGIS project file

It’s time to add a QGIS project to our server. To do that, we move to the QGIS Server folder

cd /usr/lib/cgi-bin

where you should find ‘qgis_mapserv.fcgi’ and ‘wms_metadata.xml’.
Now have one folder for each project file. Lets make the first project “myProject”.

sudo mkdir myProject
cd myProject

qgis_mapserv.fcgi and wms_metadata.xml can now be linked into this new folder

sudo ln -s ../qgis_mapserv.fcgi && sudo ln -s ../wms_metadata.xml 

The only thing that is missing anymore is a QGIS project file. Which we will be linking into the folder. After restarting Apache, we should be good to go.

sudo ln -s /home/username/file.qgs  /usr/lib/cgi-bin/myProject/file.qgs

Now update the Apache2 Server again

sudo service apache2 restart

Your ‘GetCapabilities’ request should now include the added ‘myProject’ folder:

QGIS Server Installation
QGIS Server Installation

which gives a output like:

QGIS Server can serve as many project files as you want. There are different ways to organize your server but I would simply add a new folder (like the “myProject” folder in this example) and link in the executable and project file.


Install Geoserver – Windows OS – Step by Step

GeoServer is an open source server for sharing geospatial data in both vector and raster format. It is designed to host major data sources, which can easily render on maps.

Download stable version of GeoServer to Install:

Google out link.

Install Geoserver in windows

Hit the Download tab and install the stable version of geoserver. In this tutorial we have downloaded GeoServer 2.12.0. Before installation make sure that you already have JRE installed. If you have not installed that please visit

to download JRE (Java runtime environment) and install it.

To install GeoServer follow the steps given below,

Step 1:

First of all download the GeoServer application file and keep in drive, where you want to install it.

Step 2 to install geoserver:

Double click the application file and start installation.

Install Geoserver in windows

Click next button.

Step 3:

Select I agree option and set the path to drive, where you want to install this application.

Install Geoserver in windows

Click I agree.

Install Geoserver in windows

Before choosing the install location check space available in drive. Then provide installation location and click next.

Install Geoserver in windows

Here click next button.

Install Geoserver in windows

Give the path where you have installed the JRE.

Install Geoserver in windows

Click next button.

Step 4 to install geoserver:

You can change the Username and password.

Install Geoserver in windows

Set the Username and password and click next button.

Install Geoserver in windows

Click next button.

Install Geoserver in windows

Click next button.

Install Geoserver in windows

Check the details provided and click install button. After installation click finish button. You will find the GeoServer folder in the directory.

Step 5 to install geoserver:

After installation search Start GeoServer application, it will run in command prompt then in web browser search localhost:8080/geoserver/web link.

You can also visit articles on Publish and style Vector data, Publish and style Raster data, Install geoserver in linux operating system etc.

Feel free to comment in provided comment box for any other queries and problem.