Docker Instance
Details: https://hub.docker.com/r/jayluxferro/ghanapostgps-api
- Pull the docker image.
docker pull jayluxferro/ghanapostgps-api:latest - Run the docker image.
docker run -d -p 9091:9091 -ti jayluxferro/ghanapostgps-api.
NB:
- Default port for the service is
9091. - Base URL:
http://localhost:9091
Get Location Coordinates (Latitude/Longitude) from GhanaPostGPS Address.
### API Details
End Point URL: https://ghanapostgps.sperixlabs.org/get-location
Method: POST
API Parameters: address (GhanaPostGPS Address)
Content-Type: application/x-www-form-urlencoded
#### Output/Response:
- Location found
{
"data": {
"Table": [
{
"Area": "NEW KAGYASI",
"CenterLatitude": 6.650080145273592,
"CenterLongitude": -1.648700346667856,
"District": "Kumasi",
"EastLat": 6.65005768739201,
"EastLong": -1.6486780409076,
"GPSName": "AK4849321",
"NorthLat": 6.65010262239948,
"NorthLong": -1.6487229566718,
"PostCode": "AK484",
"Region": "Ashanti",
"SouthLat": 6.65005768739201,
"SouthLong": -1.6487229566718,
"Street": "Kumasi, Ashanti, GHA",
"WestLat": 6.65010262239948,
"WestLong": -1.6486780409076
}
]
},
"found": true
}- Location not found
{
"data": {
"Table": null
},
"found": false
}C-Sharp | cURL | Golang | Javascript | NodeJS | PHP | Python | Swift | Java | Ruby | PowerShell
Address: AK-484-9321 or AK4849321
Code:
var client = new RestClient("https://ghanapostgps.sperixlabs.org/get-location"); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); request.AddParameter("address", "AK-484-9321"); request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; }; IRestResponse response = client.Execute(request); Console.WriteLine(response.Content);
Code:
curl --location --request POST 'https://ghanapostgps.sperixlabs.org/get-location' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'address=AK-484-9321'
Code:
package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() { url := "https://ghanapostgps.sperixlabs.org/get-location" method := "POST" payload := strings.NewReader("address=AK-484-9321") client := &http.Client { } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/x-www-form-urlencoded") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
Code:
var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/x-www-form-urlencoded"); var urlencoded = new URLSearchParams(); urlencoded.append("address", "AK-484-9321"); var requestOptions = { method: 'POST', headers: myHeaders, body: urlencoded, redirect: 'follow' }; fetch("https://ghanapostgps.sperixlabs.org/get-location", requestOptions) .then(response => response.json()) .then(result => console.log(result)) .catch(error => console.log('error', error));
Code:
var request = require('request'); var options = { 'method': 'POST', 'url': 'https://ghanapostgps.sperixlabs.org/get-location', 'headers': { 'Content-Type': 'application/x-www-form-urlencoded' }, form: { 'address': 'AK-484-9321' } }; request(options, function (error, response) { if (error) throw new Error(error); console.log(response.body); });
Code:
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://ghanapostgps.sperixlabs.org/get-location", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "address=AK-484-9321", CURLOPT_HTTPHEADER => array( "Content-Type: application/x-www-form-urlencoded" ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
Code:
import requests url = "https://ghanapostgps.sperixlabs.org/get-location" payload = 'address=AK-484-9321' headers = { 'Content-Type': 'application/x-www-form-urlencoded' } response = requests.request("POST", url, headers=headers, data = payload) print(response.json())
Code:
import Foundation var semaphore = DispatchSemaphore (value: 0) let parameters = "address=AK-484-9321" let postData = parameters.data(using: .utf8) var request = URLRequest(url: URL(string: "https://ghanapostgps.sperixlabs.org/get-location")!,timeoutInterval: Double.infinity) request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") request.httpMethod = "POST" request.httpBody = postData let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data else { print(String(describing: error)) return } print(String(data: data, encoding: .utf8)!) semaphore.signal() } task.resume() semaphore.wait()
Code:
OkHttpClient client = new OkHttpClient().newBuilder() .build(); MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); RequestBody body = RequestBody.create(mediaType, "address=AK-484-9321"); Request request = new Request.Builder() .url("https://ghanapostgps.sperixlabs.org/get-location") .method("POST", body) .addHeader("Content-Type", "application/x-www-form-urlencoded") .build(); Response response = client.newCall(request).execute();
Code:
require "uri" require "net/http" url = URI("https://ghanapostgps.sperixlabs.org/get-location") https = Net::HTTP.new(url.host, url.port); https.use_ssl = true request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/x-www-form-urlencoded" request.body = "address=AK-484-9321" response = https.request(request) puts response.read_body
Code:
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add("Content-Type", "application/x-www-form-urlencoded") $body = "address=AK-484-9321" $response = Invoke-RestMethod 'https://ghanapostgps.sperixlabs.org/get-location' -Method 'POST' -Headers $headers -Body $body $response | ConvertTo-Json
Get GhanaPostGPS Address from Location Coordinates (Latitude/Longitude).
### API Details
End Point URL: https://ghanapostgps.sperixlabs.org/get-address
Method: POST
API Parameters: lat (latitude), long (longitude)
Content-Type: application/x-www-form-urlencoded
#### Output/Response:
- Address found
{
"data": {
"Table": [
{
"GPSName": "AK4849319",
"Region": "Ashanti",
"District": "Kumasi",
"PostCode": "AK484",
"NLat": 6.650012752389040,
"SLat": 6.649967817390580,
"WLong": -1.648722956671800,
"Elong": -1.648678040907600,
"Area": "NEW KAGYASI",
"Street": "Kumasi, Ashanti, GHA"
}
]
},
"found": true
}- Address not found
{
"data": {
"Table": null
},
"found": false
}C-Sharp | cURL | Golang | Javascript | NodeJS | PHP | Python | Swift | Java | Ruby | PowerShell
Address: AK-484-9321 or AK4849321
Code:
var client = new RestClient("https://ghanapostgps.sperixlabs.org/get-address"); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); request.AddParameter("lat", "6.6500"); request.AddParameter("long", "-1.6487"); request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; }; IRestResponse response = client.Execute(request); Console.WriteLine(response.Content);
Code:
curl --location --request POST 'https://ghanapostgps.sperixlabs.org/get-address' --form 'lat="6.6500"' --form 'long="-1.647"'
Code:
package main import ( "fmt" "bytes" "mime/multipart" "net/http" "io/ioutil" ) func main() { url := "https://ghanapostgps.sperixlabs.org/get-address" method := "POST" payload := &bytes.Buffer{} writer := multipart.NewWriter(payload) _ = writer.WriteField("lat", "6.6500") _ = writer.WriteField("long", "-1.647") err := writer.Close() if err != nil { fmt.Println(err) return } client := &http.Client { } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) return } req.Header.Add("Content-Type", "application/x-www-form-urlencoded") req.Header.Set("Content-Type", writer.FormDataContentType()) res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }
Code:
var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/x-www-form-urlencoded"); var formdata = new FormData(); formdata.append("lat", "6.6500"); formdata.append("long", "-1.647"); var requestOptions = { method: 'POST', headers: myHeaders, body: formdata }; fetch("https://ghanapostgps.sperixlabs.org/get-address", requestOptions) .then(response => response.json()) .then(result => console.log(result)) .catch(error => console.log('error', error));
Code:
var request = require('request'); var options = { 'method': 'POST', 'url': 'https://ghanapostgps.sperixlabs.org/get-address', 'headers': { 'Content-Type': 'application/x-www-form-urlencoded' }, formData: { 'lat': '6.6500', 'long': '-1.647' } }; request(options, function (error, response) { if (error) throw new Error(error); console.log(response.body); });
Code:
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://ghanapostgps.sperixlabs.org/get-address', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => http_build_query(array('lat' => '6.6500','long' => '-1.647')), CURLOPT_HTTPHEADER => array( 'Content-Type: application/x-www-form-urlencoded' ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
Code:
import requests url = "https://ghanapostgps.sperixlabs.org/get-address" payload={'lat': '6.6500', 'long': '-1.647'} files=[] headers = { 'Content-Type': 'application/x-www-form-urlencoded' } response = requests.request("POST", url, headers=headers, data=payload, files=files) print(response.json())
Code:
import Foundation #if canImport(FoundationNetworking) import FoundationNetworking #endif var semaphore = DispatchSemaphore (value: 0) let parameters = [ [ "key": "lat", "value": "6.6500", "type": "text" ], [ "key": "long", "value": "-1.647", "type": "text" ]] as [[String : Any]] let boundary = "Boundary-\(UUID().uuidString)" var body = "" var error: Error? = nil for param in parameters { if param["disabled"] == nil { let paramName = param["key"]! body += "--\(boundary)\r\n" body += "Content-Disposition:form-data; name=\"\(paramName)\"" if param["contentType"] != nil { body += "\r\nContent-Type: \(param["contentType"] as! String)" } let paramType = param["type"] as! String if paramType == "text" { let paramValue = param["value"] as! String body += "\r\n\r\n\(paramValue)\r\n" } else { let paramSrc = param["src"] as! String let fileData = try NSData(contentsOfFile:paramSrc, options:[]) as Data let fileContent = String(data: fileData, encoding: .utf8)! body += "; filename=\"\(paramSrc)\"\r\n" + "Content-Type: \"content-type header\"\r\n\r\n\(fileContent)\r\n" } } } body += "--\(boundary)--\r\n"; let postData = body.data(using: .utf8) var request = URLRequest(url: URL(string: "https://ghanapostgps.sperixlabs.org/get-address")!,timeoutInterval: Double.infinity) request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type") request.httpMethod = "POST" request.httpBody = postData let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data else { print(String(describing: error)) semaphore.signal() return } print(String(data: data, encoding: .utf8)!) semaphore.signal() } task.resume() semaphore.wait()
Code:
require "uri" require "net/http" url = URI("https://ghanapostgps.sperixlabs.org/get-address") http = Net::HTTP.new(url.host, url.port); request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/x-www-form-urlencoded" form_data = [['lat', '6.6500'],['long', '-1.647']] request.set_form form_data, 'multipart/form-data' response = http.request(request) puts response.read_body
Code:
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add("Content-Type", "application/x-www-form-urlencoded") $multipartContent = [System.Net.Http.MultipartFormDataContent]::new() $stringHeader = [System.Net.Http.Headers.ContentDispositionHeaderValue]::new("form-data") $stringHeader.Name = "lat" $stringContent = [System.Net.Http.StringContent]::new("6.6500") $stringContent.Headers.ContentDisposition = $stringHeader $multipartContent.Add($stringContent) $stringHeader = [System.Net.Http.Headers.ContentDispositionHeaderValue]::new("form-data") $stringHeader.Name = "long" $stringContent = [System.Net.Http.StringContent]::new("-1.647") $stringContent.Headers.ContentDisposition = $stringHeader $multipartContent.Add($stringContent) $body = $multipartContent $response = Invoke-RestMethod 'https://ghanapostgps.sperixlabs.org/get-address' -Method 'POST' -Headers $headers -Body $body $response | ConvertTo-Json