RU:Xappy.js

From OpenStreetMap Wiki
Jump to navigation Jump to search

Xappy.js - переписанная OSM XAPI в node.js (JavaScript). В настоящее время использует Postgres с расширением PostGIS, с опцией реализации другого бэкенда. За подробной информацией перейдите на github

Результат в формате JSON

Xappy.js предлагает результат в формате JSON . Это могут быть функции других реализаций XAPI.

Структура

    {
        "version": 0.6,
        "generator": "xappy.js",
        "xapi": {
             "planetDate": 201106161601,
             "copyright": "XXX"
        },
        "elements": [
            ...
            ...
            ...
        ]
    }

Где elements - массив, содержащий все элементы. Мы не сортируем элементы в разных группах, так как это более приближенно к формату XML. Мы так же слышали мифы о том, что XML элементы должны быть тоже отсортированы, но с openlayer у нас не возникало проблем с использованием не сортированных XML. Мы придерживаемся формата JSON, где так же не было сведений о таких неформальных определениях.

Точка (node)

    { 
        "type": "node",
        "id": 3596186,
        "lat": 53.4633699598014,
        "lon": -2.22667910006381,
        "timestamp": "2007-06-21T17:10:58+01:00",
        "version": 2,
        "changeset": 2213,
        "tags": [
            "amenity": "hospital",
            "name": "Manchester Royal Infirmary"
        ]
    }

Путь (way)

    {
         "type": "way",
         "id": 4958218, 
         "version": 3, 
         "timestamp": "2007-07-25T01:55:35+01:00", 
         "changeset": 2211,
         "nodes": [
             218963,
             331193
         ],
         "tags":[
             "landuse": "residential",
             "source": "landsat"
         ]
     }

Отношение (relation)

    {
        "type": "relation",
        "id": 2670,
        "timestamp": "2007-10-25T03:05:34Z",
        "version": 32, 
        "changeset": 2211,
        "members": [
            {
                "type":"way", 
                "ref":3992472, 
                "role": ""
            },
            {
                "type":"way", 
                "ref":3992524, 
                "role": ""
            }
        ...
      ],
        "tags":[
            "name": "Fonnereau Way",
            "network": "Ipswich foothpaths",
            "type": "route"
        ]
    }