• 一些关于乐维webgis框架的讨论


    Q:嗯,线系统看到了,浏览很快。是都在内存中,还是文件影射?

    F:目前都在内存中。

    Q:内存块是共享的吧?

    F:是的,所有访问是访问共同的数据块,针对每个访问或者界面有一个独立的MapDrawing对象。所以基本上需要的物理内存就是shp文件dbf文件的大小。

    Q:如果某一个进程要临时修改某个数值、某个显示而不影响其它进程,这样会有问题?

    F:如果临时修改,针对网络应用来说,我计划是附加一份修改纪录到mapdrawing对象。

    Q:嗯,这样得有两个绘制逻辑了

    F:绘制或处理的时候查询修改纪录进行,显然不可能因为某些小的修改复制一份完整的数据。就算是大的修改也不应该完全复制。我觉得这个不是问题,比如在某个图层加一些点,或者线,我只要生成一个对象,对象包括这些添加的数据,显然很小,说明这些数据是指向那个图层的添加,绘制的时候查询到这个对象,增加绘制这些数据就可以了,而这个增加成本很小。


    Q:我再找个几百兆的shp,回头试试:)

    F:可以,我觉得问题不大,作为server,配个2g或者4g内存应该不是问题,特别是现在内存便宜。但是绘制或者运算是实在的,这个只能靠优化及多核来处理。优化一个是可行的genere的优化,当然可能高级一些,另外也可以考虑采用比如nvidia的cuda这样的库来扶助,自己研究指令集显然就太困难了,当然也不是不可以考虑。


    Q:有一种临时修改最常用的不是添加,而是修改原有实体的显示,将来的样式指定,建议通过属性表字段来设置,和arcgis类似

    F:修改也问题不大,只要修改的不是太多。指明是修改,就不绘制原数据,绘制修改后的数据就可以了。

    Q:另外,这个基本系统还需要支持底图的功能,图片或者栅格形式

    F:这个更像是对server文件服务的要求,程序只要确定位置和大小就可以了。

  • 相关阅读:
    set-find
    set-equal_range
    set-equal_range
    set-erase
    php 抽象类 静态 单体设计模式
    Servlet 工作原理解析
    职场上一个人情商高的十种表现
    快速学习一门新技术入门
    php中14中排序方式的实现
    php中对Mysql数据库的访问操作
  • 原文地址:https://www.cnblogs.com/lwis_webgis/p/1267773.html
Copyright © 2020-2023  润新知