2015-05-07 1 views
1

Это соответствующий бит мой Tilestache конфигурации,Tilestache - рассогласование между координатами, присутствующими в PostgreSQL/PostGIS и возвращаемые провайдером PostGeoJSON

"points-of-interest": 
{ 
    "provider": 
    { 
    "class": "TileStache.Goodies.Providers.PostGeoJSON.Provider", 
    "kwargs": 
    { 
     "dsn": "dbname=database user=username host=localhost", 
     "query": "SELECT loc_id AS __id__, loc_name, geo2 AS __geometry__ FROM location", 
     "id_column": "__id__", "geometry_column": "__geometry__" 
    } 
    } 
}, 

Когда я достигаю - http://127.0.0.1:8080/points-of-interest/0/0/0.json

, то получается ответ -

{ 
    "type": "FeatureCollection", 
    "features": [ 
    { 
    "geometry": { 
    "type": "Point", 
    "coordinates": [ 
     -0.0008691850758236021, 
     0.0002956334943026654 
    ] 
    }, 
    "type": "Feature", 
    "properties": { 
    "loc_name": "TI Blvd, TX" 
    }, 
    "id": 9 
    } 
]} 

координаты в приведенной выше реакции являются -

"coordinates": [-0.0008691850758236021,0.0002956334943026654] 

Где, как фактические координаты в таблице БД -

database=# SELECT loc_id AS __id__, loc_name, ST_AsText(geo2) AS __geometry__ FROM location; 
__id__ | loc_name |  __geometry__ 
--------+-------------+--------------------------- 
    9 | TI Blvd, TX | POINT(-96.75724 32.90977) 

Что я здесь отсутствует? Почему мои координаты ответа GeoJSON отличаются?

Описание таблицы

Table "public.location" 
Column |   Type   | Modifiers 
----------+------------------------+----------- 
loc_id | integer    | not null 
loc_name | character varying(70) | 
geo2  | geometry(Point,900913) | 
Indexes: 
"location_pkey" PRIMARY KEY, btree (loc_id) 

Спасибо всем заранее за помощь.

ответ

1

Вставка точки с помощью SRID - 4326 устраняет проблему.

Это вставка -

INSERT INTO location(loc_id, loc_name, geo2) VALUES (3, 'Manchester, NH', ST_Transform(ST_GeomFromText('POINT(-71.46259 42.99019)',4326), 900913)); 

 Смежные вопросы

  • Нет связанных вопросов^_^