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 Mapzenservices 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 Mapzenalternative 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 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 http://geoserver.org/release/stable/ 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 http://www.oracle.com/technetwork/java/javase/downloads/index.html 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.
STEP 2-
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 startup.sh file.To run this file on terminal, look given command –> sh startup.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.
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.
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. and here is the bottom portion of the Properties page.
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 airportcd airport
#symlink in both the 'wms_metadata.xml' and the 'qgis_mapserv.fcgi' into project folder
sudo ln -s ../qgis_mapserv.fcgisudo 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: http://localhost:81/cgi-bin/airport/qgis_mapserv.fcgi?map=/home/ep10/Documents/airports.qgs&
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
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.
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
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.
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
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 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)
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.
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:-
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:
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 PYTHONIOENCODING UTF-8
FcgidInitialEnv LANG "en_US.UTF-8"
FcgidInitialEnv QGIS_DEBUG 1
FcgidInitialEnv QGIS_SERVER_LOG_FILE /tmp/qgis-000.log
FcgidInitialEnv QGIS_SERVER_LOG_LEVEL 0
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}]
</IfModule>
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
</Directory>
</VirtualHost>
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
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
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.
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.
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.
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