Git Product home page Git Product logo

hydrocouple / libgeos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from libgeos/geos

0.0 2.0 0.0 28.21 MB

Geometry Engine, Open Source [MIRROR]

Home Page: http://trac.osgeo.org/geos

License: GNU Lesser General Public License v2.1

Vim Script 0.01% CMake 0.72% Makefile 1.11% M4 1.17% Batchfile 0.01% Shell 0.12% C++ 89.63% C 2.24% PHP 1.70% Python 0.80% Ruby 2.41% HTML 0.09% CSS 0.01%

libgeos's Introduction

GEOS -- Geometry Engine, Open Source

Project homepage: http://geos.osgeo.org/

Build status

Branch Debbie Travis CI GitLab CI AppVeyor Drone
trunk trunk trunk trunk trunk master

Building, testing, installing

Unix

Using Autotools:

./autogen.sh  # in ${srcdir}, if obtained from SVN or GIT
${srcdir}/configure # in build dir

Using CMake:

cmake ${srcdir} # in build dir

Now, all versions:

make
make check
make install # as root
ldconfig # as root

Microsoft Windows

If you use Microsoft Visual C++ (7.1 or later) compiler, you can build GEOS using NMAKE program and provided makefile.vc files.

If you are building from SVN or GIT checkout, first run: autogen.bat Then:

nmake /f makefile.vc MSVC_VER=1400

where 1400 is version number of Visual C++ compiler, here Visual C++ 8.0 from Visual Studio 2005 (supported versions are 1300, 1310, 1400 and 1500). The bootstrap.bat step is required to generate a couple of header files.

In order to build debug configuration of GEOS, additional flag DEBUG=1 is required:

nmake /f makefile.vc MSVC_VER=1400 DEBUG=1

Client applications

Using the C interface (recommended)

To compile programs against the C lib (recommended):

CFLAGS += `geos-config --cflags`
LDFLAGS += `geos-config --ldflags` -lgeos_c
#include <geos_c.h>

Example usage:

capi/geostest.c contains basic usage examples.

Using the C++ interface (discouraged)

NB: The C++ interface should not be used directly; the GEOS project views it as a bug for another program to use the C++ interface or even to directly link against the C++ library. The C++ library name will change on every minor release because it is too hard to know if there have been ABI changes. (The C library uses the C++ interface, but the C library follows normal ABI-change-sensitive versioning, so programs that link only against the C library should work without relinking when GEOS is upgraded.)

To compile programs against the C++ lib:

CFLAGS += `geos-config --cflags`
LDFLAGS += `geos-config --ldflags` -lgeos
#include <geos.h>

Basic usage examples can be found in doc/example.cpp.

Scripting language bindings

Ruby bindings are fully supported. To build, use the --enable-ruby option when configuring:

./configure ... --enable-ruby

PHP bindings are fully supported. To build, use the --enable-php option when configuring:

./configure ... --enable-php

Since version 3.0, the Python bindings are unsupported. Recommended options:

  1. Become or recruit a new maintainer.
  2. Use Shapely with Python versions 2.4 or greater.
  3. Simply call functions from libgeos_c via Python ctypes.

Documentation

To build Doxygen documentation:

cd doc
make doxygen-html

libgeos's People

Contributors

cfis avatar davidblasby avatar dr-jts avatar hobu avatar mloskot avatar nhv avatar pramsey avatar robe2 avatar swongu avatar warmerdam avatar

Watchers

 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.