有了底图数据之后,就能够在地图上开发各种功能,比如打个点、画根线、填充面等等操作,这就需要矢量格式的数据。
矢量数据空间类型有 点(Point)、MultiPoint(多点)、线(LineString)、多线(MultiLineString)、面(Polygon)、多面(MultiPolygon)、混和类型(GeometryCollection);
地图引擎都支持矢量数据的绘制,按照颜色、图标、线宽等形式显示,在地图的常规开发中,使用最多的坐标格式是经纬度(wgs84/cgcs2000),不同坐标系需要事先转换一下,js版的proj4,支持对坐标系的转换。
矢量文件存储:
常用的文件存储方式有shp(ESRI shapefile)、geojson格式;
shp格式通常包含.shp、.dbf、.shx、.prj等几个文件组成,使用专业的gis软件或者开发库才能够进行操作;
geojson是以json的形式对空间数据进行存储,是用文本直接可读的,使用js解析是非常方便的;
在存储空间占用上,shp要比同样数据的geojson要小。
geojson简单数据样例:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {"id": 1},
"geometry":
{
"type": "Point",
"coordinates": [100.0, 0.0]
}
},
{
"type": "Feature",
"properties": {"id": 2},
"geometry":
{
"type": "LineString",
"coordinates": [
[100.0, 0.0],
[101.0, 1.0]
]
}
},
{
"type": "Feature",
"properties": {"id": 3},
"geometry":
{
"type": "Polygon",
"coordinates": [
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
]
]
}
}
]
}