B/S应用下的三维场景构建与缓存优化

需积分: 8 0 下载量 25 浏览量 更新于2024-06-26 收藏 4.54MB PDF 举报
"该资源是一份关于基于B/S应用的三维场景与缓存的文档,由SuperMap Software Co., Ltd.北京超图提供。主要内容涵盖了基于B/S的三维场景构建,缓存的重要性和应用,以及如何生成和使用缓存来优化三维场景的性能。文档还提到了S3M技术及其在三维数据存储和交换中的应用。" 正文: 基于B/S的三维场景是指在浏览器(Browser)与服务器(Server)架构下实现的三维地理信息系统。这种应用场景通常涉及复杂的三维模型,如BIM(建筑信息模型)、倾斜摄影模型、点云数据,以及矢量和影像数据。在B/S模式下,用户通过浏览器进行交互,而数据处理和计算主要在服务器端完成。这种模式下,三维场景的加载速度、服务器性能、访问效率和用户体验是关键因素。 缓存的应用对于提高三维场景的性能至关重要。通过预先处理数据并生成缓存,客户端可以直接使用缓存数据,从而减少对服务器的实时请求,减轻服务器压力,缩短响应时间,并显著提升用户浏览速度和体验。缓存可以是针对特定数据类型单独更新,也可以是整个场景的综合缓存,包括3dsMAX精细模型、BIM数据、S3M/S3MB格式的点云和地形数据等。 S3M是一种开源的三维空间数据规范,支持多种三维数据类型,如BIM、点云、地形和倾斜摄影模型等。S3M技术的特点在于其高效的数据渲染能力,简洁的使用方式,以及跨终端兼容性,这使得它成为三维数据存储和交换的理想选择。此外,S3M还有其压缩格式S3MB,用于进一步节省存储空间。 生成缓存的过程涉及到将不同数据类型的图层,如矢量数据集、栅格数据集、模型数据集等,处理、优化后制作成三维切片缓存图层和影像/地形缓存图层。这些缓存图层与在线服务图层、CAD图层、KML图层等结合,通过代码实现,最终发布为三维服务。在此过程中,对于使用三维符号渲染的图层,需要生成场景缓存以保留图层的视觉风格。 这份文档详细介绍了基于B/S应用的三维场景构建流程,强调了缓存策略的重要性,并重点探讨了S3M/S3MB缓存格式在优化三维场景性能上的作用。通过理解和应用这些技术,开发者可以构建更加流畅、高效的三维GIS应用,提供优质的用户体验。

SELECT bs.sample_id, bs.item_id, bs.report_id, bs.order_no, bs.order_id, bs.order_business_type, bs.commission_date, bs.customer_name, bs.applicant, bs.phone, bs.receive_user_name, bs.contract_no, bs.special_requirements, bs.report_org_name, bs.report_org_address, bs.sample_name, bs.standard_instrument_name, bs.complete_day, bs.sample_remark AS remark, bs.standard_instrument_id, bs.sample_no, bs.factory_number, bs.item_name, /*bs.item_quantity,*/ bs.inspection_type, bs.mandatory_flag, bs.test_quantity, bs.sample_state, bs.current_site, bs.plan_complete_date, bs.affix, bs.ranges, bs.grade, bs.factory, bs.calibrat_point, bs.apply_dept, bs.specification, bs.final_fee, bs.service_type, CASE WHEN bs.actual_complete_date IS NOT NULL THEN DATEDIFF( bs.plan_complete_date, bs.actual_complete_date ) ELSE datediff( bs.plan_complete_date, now()) END AS surplus_days, bs.report_no, bs.is_report_back, bs.back_reason AS report_back_reason, bs.is_just_certificate, bs.report_state, bs.temper, bs.humidity, bs.test_result, bs.test_date, bs.next_test_date, bs.test_cycle, bs.test_address, bs.generate_time, bs.point_report_id, bs.is_merge, bs.circulation_flag, bs.item_proposal_fee AS proposal_fee, bs.change_price_reason, bs.test_user_name, bs.group_id, bs.group_name, bs.charging_num, bs.other_fee, bs.receivable_fee, bs.affix_quantity, bs.test_org, bs.out_org_order_no, bs.out_org_sample_no, bs.business_user_name, bs.pdf_path, bs.settlement_state, bs.result_describe, bsa.attach_id FROM view_sample_info bs JOIN bus_sample_report bsr ON bs.report_id = bsr.id JOIN bus_sample sa ON bsr.sample_id = sa.id JOIN bus_sample_attr bsa ON sa.id = bsa.id 根据bs.commission_date 进行排序最近的排上面 bs.commission_date

2023-07-15 上传

SELECT bs.report_no, bs.sample_id, bs.test_id, bs.service_type, bs.sample_name, bs.total_fee, bs.receivable_fee, bs.sample_no, bs.ranges, bs.grade, bs.sample_remark AS remark, bs.factory, bs.item_name, bs.apply_dept, bs.specification, bs.factory_number, bs.calibrat_point, bs.mandatory_flag, bs.inspection_type, bs.report_org_name, bs.plan_complete_date, bs.standard_instrument_name, bs.bleeding_site_name, bs.arrive_date, DATEDIFF( bs.plan_complete_date, NOW()) AS surplus_days, bs.order_no, bs.order_type, bs.customer_name, bs.order_id, bs.business_type, bs.group_id, bs.group_name, bs.item_id, bs.is_merge, bs.pass_time, bs.audit_time, bs.report_id, bs.compile_time, bs.generate_time, bs.pass_user_name, bs.audit_user_name, bs.compile_user_name, bs.report_state, bs.is_just_certificate, bs.label_price, bs.labor_cost, bs.product_type, bs.batch_number, bs.original_number, bs.type_no, bs.template_id, bs.template_version, bs.standard_instrument_id, bs.standard_instrument_name, bs.report_query_code, bs.test_user_id, bs.test_user_name, bs.test_time, bs.review_user_id, bs.review_user_name, bs.review_time, bs.or_number, bs.test_result, bs.test_result_text, bs.test_date, bs.test_address, bs.result_value, bs.unit, bs.test_dept_id, bs.test_dept_name, bs.sample_mass, bs.form, bs.color, bs.clarity, bs.amplification_detection, bs.precious_metal, bs.remarks, bs.photo, bs.identifying_code, bs.diamond_quality, bs.hand_ring, bs.craft, bs.instrument_photo, bs.customer_item_basis, bs.quality_photo, bs.check_point, bs.check_code, bs.mass_unit, bs.manufacturer_name, bs.manufacturer_addr, bs.result_sample_describe AS sampleDescribe, bs.test_rule AS metalRuleIdsStr, bsa.attach_id FROM view_sample_info bs JOIN bus_sample_report bsr ON bs.report_id = bsr.id JOIN bus_sample sa ON bsr.sample_id = sa.id JOIN bus_sample_attr bsa ON sa.id = bsa.id 需要按照bs.report_no 的整数来从小到大进行排序

2023-07-15 上传