Client libraries





Some client libraries have been developed by us or by us or other developers. Additionally, you can go to the add-ons page to see how Gisgraphy can integrate with other software. If you have developed a library, or if you do something cool with Gisgraphy, please let us know, we would be glad to see it. The following libraries are currently available :

OpenGTS

Gisgraphy is supported by OpenGTS. That means that you can do geocoding on OpenGTS via Gisgraphy. (see documentation)

Traccar

Gisgraphy is supported by Traccar. That means that you can do geocoding on Traccar via Gisgraphy. (see documentation)

Graphhopper

Graphhopper is a popular routing engine. You can use Gisgraphy to do the geocoding and the autocompletion to have the GPS coordinates of places and addresses and then do routing with Graphhopper. A geocoder-converter converts Gisgraphy results into the expected format of Graphhopper.

FME (safe.com)

it is possible to do Geocoding with Gisgraphy in FME. learn More

Java

Some Java clients (one per services) are available in Gisgraphy-utils package.

Javascript

Gisgraphy has a Javascript API and a leaflet plug-in.


Python

A client library is available. The code is available on the Github repository. Some other contributions have also be done by the Gisgraphy community : https://github.com/JeffAMcGee/localcrawl/blob/master/gisgraphy.py. The Geocoder Python also include Gisgraphy as a provider.

Scala

A client library developed by third party is available. The code is available on the Github repository

Symfony (PHP framework)

A bundle for the PHP framework Symfony is available and developed by third party. The code is available on the Github repository

PHP

We suggest you use the REST client library available in the Github repository.

. Note that curl is required by the RestClient library.
<?
// dummy examples of Gisgraphy query. 

//geocoding
$query = RestClient::get("http://services.gisgraphy.com/geocoding/geocode",
	 array('format'=>'php',
		'address'=>'1 avenue des champs elysees 75003 paris',
		'country'=>'FR'
	      )
);
//address parser
$query = RestClient::get("http://services.gisgraphy.com/addressparser/parse",
	array('format'=>'php',
	      'address'=>'1 avenue des champs elysees 75003 paris',
	      'country'=>'FR'
	     )
);
//street search
$query = RestClient::get("http://services.gisgraphy.com/street/streetsearch",
		array('format'=>'php',
			'lat'=>'48.8534088134765',
			'lng'=>'2.34879994392395',
			'name'=>'Champs'
			)
);
//fulltext
$query = RestClient::get("http://services.gisgraphy.com/fulltext/fulltextsearch",
		array('format'=>'php',
			'q'=>'paris'
			)
);
//geoloc-find nearby
$query = RestClient::get("http://services.gisgraphy.com/geoloc/search",
		array('format'=>'php',
		'lat'=>'48.8534088134765',
		'lng'=>'2.34879994392395',
		'placetype'=>'city')
);


var_dump($query->getResponse());
var_dump($query->getResponseCode());
var_dump($query->getResponseContentType());

//Note that 'format'=>'php' is in case you want to do something like :
//eval("\$str =$query->getResponse()");echo (print_r($str));
//feel free to use xml, json, any format you want.


?>