WebGIS是GIS发展的主流方向,路径规划又是其重要的应用研究方向。本文通过ArcMAP创建所需要的网络数据集,实现网络分析功能,建立GPModel,利用ArcGIS Server发布地图和GPModel服务,调用ArcGIS API for javascript的应用程序接口,完成前...
详细信息
WebGIS是GIS发展的主流方向,路径规划又是其重要的应用研究方向。本文通过ArcMAP创建所需要的网络数据集,实现网络分析功能,建立GPModel,利用ArcGIS Server发布地图和GPModel服务,调用ArcGIS API for javascript的应用程序接口,完成前后端交互功能,最终实现路径规划。文末以长沙市道路数据网验证了Web应用中路径规划方法。
通过对ArcGIS API for javascript、ArcGIS Server 和地理信息数据库等关键技术的研究,开发基于ArcGIS API for javascript 的地震人口热力图快速出图程序。利用移动互联网人口位置大数据和ArcGIS API for javascript 的符号渲染、图形...
详细信息
通过对ArcGIS API for javascript、ArcGIS Server 和地理信息数据库等关键技术的研究,开发基于ArcGIS API for javascript 的地震人口热力图快速出图程序。利用移动互联网人口位置大数据和ArcGIS API for javascript 的符号渲染、图形绘制、查询分析、自动打印等功能,实现Web 端震中周边不同范围人口的秒级热力渲染、统计展示和自动出图,在河北永清4.3 级等地震事件中通过地震信息播报机器人及时产出,取得较好的应急实效。
The migration of application logic to the client side of modern web applications and the use of javascript as the main language for client-side development have made memory leaks in javascript an issue for web applica...
详细信息
The migration of application logic to the client side of modern web applications and the use of javascript as the main language for client-side development have made memory leaks in javascript an issue for web applications. Client-side web applications communicate with the server asynchronously, remaining on the same web page during their lifetime. Thus, even minor memory leaks can eventually lead to excessive memory usage, negatively affecting user-perceived response time and possibly causing page crashes. To detect memory leaks and guide developers in fixing the leaks quickly and easily, this paper introduces LeakSpot, a tool that creates a run-time heap model by modifying the application code in a browser-agnostic way to record object allocations, accesses, and references created to objects. LeakSpot reports those allocation sites causing the leaks instead of all the leaky allocation sites. It also identifies the locations in the code where leaked objects are accumulated, for example, the locations where a reference from a data structure is created but forgotten to be removed by the developer. To facilitate debugging and fixing the leaks, for every leaked object, LeakSpot reports all the locations in the code that create a reference to the object. To confirm usefulness and efficacy of LeakSpot experimentally, we have used LeakSpot to find and fix four memory leaks in a javascript benchmark suite and in open-source web applications. LeakSpot is also shown to be effective in pointing out the potential causes of three leaks in large and popular web applications. Copyright (c) 2016 John Wiley & Sons, Ltd.
In the current era where multi-core technologies are very common in use, the existing web browsers are unable to fully utilize the capability of multi-core processors. The web browsers execute the javascript code loca...
详细信息
In the current era where multi-core technologies are very common in use, the existing web browsers are unable to fully utilize the capability of multi-core processors. The web browsers execute the javascript code locally in order to produce an efficient response of web pages. This responsiveness is however limited by the fact that the javascript code is uni-threaded, and consequently, the efficiency of the code degrades if it involves a large number of computations. In this paper, we propose a framework called JSOPT (javascript Optimizer) which generates an efficient javascript code to effectively utilize multi-core architectures. The framework uses a template containing constructs for communication & synchronization, and subsequently generates optimized code to be executed on the multi-core architectures. Multiple instances of templates are then generated with different implementations of the code and the best instance is selected to be incorporated in the library. With the optimized code generated using JSOPT, our results show a significant improvement in the performance of several benchmarks involving intensive computations based matrix operations on the Mozilla Firefox web browser.
Asynchronous programs in javascript using callbacks and promises are difficult to write correctly. Many programs have subtle errors due to the unwanted interaction of event handlers. To fix such errors, the programmer...
详细信息
Asynchronous programs in javascript using callbacks and promises are difficult to write correctly. Many programs have subtle errors due to the unwanted interaction of event handlers. To fix such errors, the programmer is burdened with explicit registration and de-registration of event handlers. This produces fragile code which is difficult to read and maintain. Arrows, a generalization of monads, are an elegant solution to asynchronous program composition. In this paper, we present the semantics of an arrow-based DSL in javascript which can encode asynchronous programs as a state machine where edge transitions are triggered by external events. To ensure that arrows are composed correctly, we provide an optional type checker that reports errors before the machine begins execution. (C) 2017 Elsevier B.V. All rights reserved.
Client-side javascript is widely used in web applications to improve user-interactivity and minimize client-server communications. Unfortunately, javascript is known to be error-prone. While prior studies have demonst...
详细信息
Client-side javascript is widely used in web applications to improve user-interactivity and minimize client-server communications. Unfortunately, javascript is known to be error-prone. While prior studies have demonstrated the prevalence of javascript faults, no attempts have been made to determine their causes and consequences. The goal of our study is to understand the root causes and impact of javascript faults and how the results can impact javascript programmers, testers and tool developers. We perform an empirical study of 502 bug reports from 19 bug repositories. The bug reports are thoroughly examined to classify and extract information about each bug' cause (the error) and consequence (the failure and impact). Our results show that the majority (68 percent) of javascript faults are DOM-related, meaning they are caused by faulty interactions of the javascript code with the Document Object Model (DOM). Further, 80 percent of the highest impact javascript faults are DOM-related. Finally, most javascript faults originate from programmer mistakes committed in the javascript code itself, as opposed to other web application components. These results indicate that javascript programmers and testers need tools that can help them reason about the DOM. Additionally, developers can use the error patterns we found to design more powerful static analysis tools for javascript.
暂无评论