【发布时间】:2017-10-18 12:31:59
【问题描述】:
我有一个 MS SQL 数据库,其中包含一个包含某些设备的纬度/经度位置的表。这些位置存储在 GEOGRAPHY 字段中。现在我想使用 Sequelize 从我的节点应用程序中获取这些位置。
这是我的续集模型定义:
db.define('StationLocation', {
StationId: { type: Sequelize.INTEGER },
Position: { type: Sequelize.GEOMETRY('POINT') }
}
)
这是我目前得到的:
{
"id":4,
"StationId":1,
"Position":{
"type":"Buffer",
"data":[
230,
16,
0,
0,
1,
12,
25,
159,
112,
57,
112,
200,
73,
64,
0,
0,
0,
128,
184,
247,
26,
64
]
}
}
如何将其转换为纬度和经度值? Sequelize 能做到这一点吗?
更新:在上面的例子中,位置是这样的:
Latitude: 51.565924816122966
Longitude: 6.741914749145508
这是我的查询:
StationLocation
.findAll({ raw: true })
.then(function(allStationLocations) {
console.dir(allStationLocations[0].coordinates); // Just for debugging
res.send(JSON.stringify(allStationLocations));
});
这转换为以下 SQL 语句:
SELECT [id], [StationId], [Position] FROM [StationLocations] AS [StationLocation];
【问题讨论】:
-
您也可以分享您的查询吗?
-
@Tamas:我更新了问题。
-
您是否 100% 肯定该列在数据库中具有正确的数据类型?
标签: sql-server node.js sequelize.js sqlgeography