pelias / pelias/api

Create new endpoint for geometries of cities

Open
#1,121 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
259
Forks
168
Avg merge
6h 15m
Merged PRs (30d)
1

Description

Hi,

A new endpoint could be interesting.
An endpoint that would send the geometry of a city using Who's On First ID.
Thanks to this we could highlight cities (like Who's On First spelunker or Google).
This could be another microservice (like pip-service or a new one) and should only serve localities/localadmins (because the regions/countries will be too large).
The answer should also be filtered, do not send the raw data from WOF (keep proprieties about geometry and bbox for example).

Example of request with properties:

GET /v1/place/geom?id=101751119 HTTP/1.1

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": 101751119,
  "type": "Feature",
  "properties": {
    "geom:area":0.012915,
    "geom:area_square_m":105073572.071737,
    "geom:bbox":"2.22407844723,48.8155766678,2.46976095835,48.9021619073",
    "geom:latitude":48.856626,
    "geom:longitude":2.342883,
    "src:geom":"mz",
    "wof:country":"FR",
    "wof:geomhash":"bcec769e4dc183e582c6cd5dbfd4de9a",
    "wof:id":101751119,
    "wof:lang":[
        "fre"
    ],
    "wof:name":"Paris",
    "wof:placetype":"locality",
},
  "bbox": [
    2.224078447233478,
    48.81557666781795,
    2.469760958345428,
    48.90216190732557
],
  "geometry": {"coordinates":[[],[]],"type":"MultiPolygon"}
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing pip-service and API endpoint structure, then inspect how Who's On First IDs and locality/localadmin records are accessed. Define the filtered geometry and properties represented by the example response, including the behavior for unsupported or oversized placetypes. Done means the endpoint serves the requested geometry without exposing raw Who's On First data.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.