这个问题问的非常好。地图服务无非就是制定了数据返回的格式,其实完全可以在数据库中编写函数,返回指定的格式文件,让用户直接调用数据库。可能是,制定数据返回格式标准的那个人为了屏蔽数据库层,让服务的格式与数据库无关,既可以从数据库中获取数据,也可以直接调用文件吧,不一定要走数据库,也可以是文件存储。而且直接走数据库也不安全。。一定要走一个服务层,这样多了一层保障,可以控制开关,可以避免安全隐患,以免随意写入信息。当然如果是只读取的话,那没太大问题,但也还是要经过身份验证才可以读写。
例如postgis数据库,明明内置函数能够提供数据服务,为什么还要服务中间件?例如geoserver。。连接postgis发布服务什么的。
>> 判断PostGIS和GeoServer到底是调用PostGIS内置的函数,在PostGIS内完成,还是GeoServer中的代码完成。。