Giter Site home page Giter Site logo

kyroskoh / vecamole Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zerebubuth/vecamole

0.0 2.0 0.0 148 KB

A thin C library wrapper around Mapnik's vector tile functionality.

License: BSD 2-Clause "Simplified" License

Makefile 7.71% Shell 1.55% M4 53.68% C++ 18.32% C 18.74%

vecamole's Introduction

Vecamole

A simple C library to wrap Mapnik's vector tile creating and rendering functions.

Motivation

Mapnik is an awesome library which does a huge number of things and exports a very rich API in C++ and Python (and Ruby, C). However, sometimes you only need a very small part of that API and it's easier to hide away a lot of the richness and complexity for a smaller, simpler and easier to manage interface. This is an attempt to do that for Mapnik's vector tile creation and rendering functionality.

Installation

These installation instructions assume you're running Ubuntu 14.04, but will probably work with some adaptation on other flavours of Linux. If you're not running Linux then YMMV, and it might be easier to run Vagrant as described in the next section.

Firstly, you'll need Mapnik. I recommend using the same version as I'm using:

sudo add-apt-repository -y ppa:mapnik/nightly-trunk
sudo apt-get update
sudo apt-get install libmapnik-dev="3.0.0+dev20150801.git.6b05f19-1~trusty1"

And you'll need a few essential libraries and tools:

sudo apt-get install git build-essential automake autoconf libtool protobuf-compiler libprotobuf-dev

Next, make sure you've got all the submodules installed:

git submodule update --init --recursive

After all of that, it should be a standard autotools build:

./autogen.sh
./configure
make
make check
make install

Note that I seem to occasionally get some issues with parallel builds, so please check a single-threaded build if you find your builds are failing. Better still, contribute a patch to fix it!

Using Vagrant

In order to make getting started easier, the repository contains a Vagrant configuration. To get started using this requires only Vagrant itself to be installed on your system, and all the crazy PPA stuff is confined to a VM. After installing Vagrant itself, you should be able to get a VM ready for development by running:

vagrant up

And then running the build inside it:

vagrant ssh
cd /vagrant
./autogen.sh
./configure
make
make check

Contributing

Contributions are very welcome! Please send pull requests to the Github project or via email to me. If you find any bugs, build issues or other problems then please report them on Github issues. The coding style for the project is pretty loose, but generally 1TBS with a 2-space indent.

vecamole's People

Contributors

zerebubuth avatar

Watchers

Kyros Koh avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.