GIME can exchange borehole data not only with newly-created Java applications, but also with many existing engineering applications. With minor modifications, stand- alone engineering programs can import information from GIME. This integration of GIME with engineering programs is illustrated with a CPT Soil Classification program, hereafter referred to as CSC. CSC classifies soils based on cone penetration tests (CPT) data and the soil classification method described in Robertson, Woeller, and Finn (1992). CSC was developed starting from an existing Excel Visual Basic Application (VBA), which required importing data manually into spreadsheets.
As shown in Figure 10, CSC has three main functions: (1) query and retrieval of borehole data via GIME; (2) display and conversion of borehole XML data; and (3) soil classification. CSC added to the existing VBA application the capabilities of querying and retrieving XML borehole data from GIME and pasting those into spreadsheets. The first modification to the existing VBA application was to import the Web service References Tool 2.0, which is a resource toolkit adding the Web service functionalities to the Excel VBA environment. With the Web service Refer- ences Tools, VBA can call functions for discovering Web services, select particular Web services, and create proxy classes of Web service objects. With these refer- ences, VBA can access the WSDL files of GIME, and the GIME objects defined
Figure 11. The query box (left) and the query results (right) of the CSC client ap- plication; the borehole XML data is decomposed in a tree-like structure
in the proxy class. As shown in Figure 10, CSC checks at first for the availability of GIME services. If the service is available, CSC retrieves metadata about the locations of borehole sites and the number of data sets at each site, and adds this metadata to a list of available sites (site list box in Figure 11). CSC forwards the selection parameters input into its query dialog box to GIME, which replies with a list of selected boreholes (Figure 11). XML borehole files are downloaded using the GeoGetXMLFile function of GIME (Table 2). They are loaded into memory using the LoadXML function of the XML Document Object Model (DOM), which is detailed in Barwell, Blair, Crossland, Case, Forgey, Hankison, Hollis, Lhotka, McCarthy, and Roth (2002) and Balena (2002). Figure 12 shows excerpts from the subroutine DisplayXMLNode which converts XML files into XML document objects and display them as a tree structure (Figure 11). That display is useful to inspect the structure and contents of XML files before pasting them into spreadsheets. The VBA code also uses a DOM function to paste onto spreadsheets the contents of the
“CPT” elements of XML borehole files. Each “CPT” element, which contains the values for depth, CPT tip resistance qc and sleeve friction Sf, is parsed and written sequentially onto spreadsheets (Figure 13). Figure 13 illustrates the final result of the CPT soil classification obtained by CSC. The techniques that CSC uses for Figure 12. Excerpt from the VBA subroutine DisplayXMLNode that converts the content of an XML file into the Excel tree view shown in Figure 11
Sub DsplayXMLNode(ByVal xmlnode As IXMLDOMNode, ByVal root As Strng, As Integer) ' Add a TreeView node for this XMLNode. (Using the node's Name is OK for most XMLNode types) Dm tvnode As Node
Set tvnode = tvXML.nodes.Add(root, tvwChld, xmlnode.nodeName & , xmlnode.nodeName) tvnode.Expanded = False
tvnode.EnsureVsble root = xmlnode.nodeName &
= +
Select Case xmlnode.nodeType
Case NODE_ELEMENT ' This is an element: Check whether there are attributes. If xmlnode.Attrbutes.Length > 0 Then ' Create an ATTRIBUTES node.
Dm attrNode As Node
Set tvnode = tvXML.nodes.Add(root, tvwChld, root & "attr", "(ATTRIBUTES)")
Dm xmlAttr As IXMLDOMAttrbute ' Add all the attributes as children of the new node.
For Each xmlAttr In xmlnode.Attrbutes ' Each node shows name and value.
Set tvnode = tvXML.nodes.Add(root & "attr", tvwChld, "", xmlAttr.Name & " = '" & xmlAttr.Value & "'") Next
End If
Case NODE_TEXT, NODE_CDATA_SECTION ' For these node types we display the value tvnode.Text = xmlnode.Text
Case NODE_COMMENT
tvnode.Text = "<!--" & xmlnode.Text & "-->"
Case NODE_PROCESSING_INSTRUCTION, NODE_NOTATION tvnode.Text = "<?" & xmlnode.nodeName & " " & xmlnode.Text & "?>"
Case Else ' Ignore other node types.
End Select
Dm xmlChld As IXMLDOMNode ' Call this routine recursively for each child node.
Set xmlChld = xmlnode.FrstChld Do Untl xmlChld Is Nothng
Call DsplayXMLNode(xmlChld, root, ) Set xmlChld = xmlChld.nextSblng Loop
End Sub
reading, inspecting, and pasting the contents of XML files can be adapted to many other client applications.
Related.Works
During recent years, several geotechnical Web services have been proposed and implemented. The majority of this work focuses on the design of geotechnical in- formation exchange platforms and integration of geotechnical Web services from different providers. Certain design goals of these prototype systems overlap with the GIME system, and we summarize them as follows.
Badard and Braun (2004) proposed a platform named OXYGENE for the develop- ment of interoperable geographic applications and Web services. OXYGENE aims at providing users with an open framework for the development of geotechnical research applications and allows for the centralization of code, documentation, and easy maintenance. There are three main characteristics of the OXYGENE platform.
First, the architecture and the object-oriented schema of OXYGENE are compliant with OGC/ISO specifications. Second, OXYGENE adopts modularized design and all the components (e.g., DBMS, map server, etc.) can be easily updated. Third, a generic graphical object browser has been embedded in clients of OXYGENE, and most geographical data objects can be visualized by users.
Figure 13. The Excel application display showing the borehole data and the CPT analysis results processed with the CSC client application
A concrete design and implementation of an integration and interoperation platform that aims to solve heterogeneity and online service for geographical information is presented in Luo, Liu, Wang, Wang, and Xu (2004). This platform aims at providing service integration which takes layers as the basic geographical data organization units, accomplishing data retrieval from multiple GIS data sources, and visualizing digital map data. There are four main Web services provided for achieving the design goals: (1) application integration services, which is the core service of business process scheduling to implement interoperation, (2) metadata service, which maintains the service information, (3) transform service, which can be implemented into platforms of different GIS providers to accomplish data format transformation into Geography Markup Language (GML), and (4) spatial analysis service, which receives GML format data and provides GML-based common spatial analysis functionalities as data clipping, projection, coordinate transformation, and overlapping.
In addition some researches have focused on automated service discovery, binding, and composition of geotechnical Web services. An, Zhao, and Bian (2004) proposed the utilization of patterns with geotechnical Web services based on ontology. Their design employs ontology to advertise geotechnical Web services and uses them for semantics-based discovery of relevant geotechnical Web services. Furthermore, in- tegration of geotechnical Web services can also be implemented based on ontology and system developers can integrate geotechnical functions into their applications without having to host all the functionalities locally.
Conclusion. and. Future. Research. Directions
We have presented research results on the development of Web services for exchang- ing and utilizing geotechnical information across a variety of applications critical to our civil infrastructure systems. The proposed Web services are being presently tested in realistic work environments in collaboration with municipal, state, and federal agencies, as well as international partners. It is likely that our first prototype of geotechnical Web services will evolve in different directions depending on the needs of our research collaborators. It is anticipated that the concepts developed in this research will contribute to pave the way for the creation of a virtual repository of geotechnical information operated by a consortium of local, state, and federal agencies.
Acknowledgments
We would like to thank Jianping Hu, Yu-Ling Hsueh, Chirag Trivedi, and Xiaohui He for their help with the GIME system implementation. We also wish to thank our collaborator on the COSMOS project, Jennifer Swift. The GIME design, implemen- tation, and experiments were made possible by the NSF grants ITR CMS-0219463 and ERC Cooperative Agreement No. EEC-9529152. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect those of the National Science Foundation.
References
AGS (1999). In Electronic transfer of geotechnical and geoenvironmental data (3rd ed.). Kent, UK: Association of Geotechnical and Geoenvironmental Special- ists.
An, Y., Zhao, B., & Bian, F. (2004). Geo Web services based on semantics. In ER Workshops, 3289, 139-157. Shanghai, China: Springer.
Badard, T., & Braun, A. (2004). OXYGENE: A platform for the development of interoperable geographic applications and Web services. In DEXA Workshops, 888-892, Zaragoza, Spain: IEEE Computer Society.
Balena, F. (Ed.). (2002). Programming Microsoft visual basic.net. Microsoft Press.
Barclay, T., Gray, J., Strand, E., Ekblad, S., & Richter, J. (2002, June). TerraService.
NET: An introduction to Web services (Tech. Rep. No. MSR-TR-2002-53).
Microsoft Research.
Bardet, J. -P., Hu, J., & Swift, J. (2003). Data storage and exchange format of bore- hole information. Submitted to Computers & Geosciences.
Barwell, F., Blair, R., Crossland, J., Case, R., Forgey, B., Hankison, W., Hollis, B.
S., Lhotka, R., McCarthy, T., & Roth, J. C. (2002). Professional VB .Net (2nd ed.). Wrox Press Ltd.
Benoit, J., & Lutenegger, A. J. (2000, April). National geotechnical experimentation sites (NGES). ASCE Geotechnical Special Publication, 408(93), 221-234.
COSMOS/PEER User Survey. (2002). Archiving and Web dissemination of geo- technical data Website. COSMOS/PEER-LL 2L02, USC. Retrieved December 1, 2005, from http://geoinfo.usc.edu/gvdc/
Heslop, K., Karst, J., Prensky, S., & Schmitt, D. (2000, June). Log ASCII standard document #1 — file structures, Version 3. Canadian Well Logging Society.
Calgary, Canada, p. 44.
Holtzer, T. (2001, October). Distribution of USGS CPT data via the Web. In Proceed- ings of the COSMOS/PEER-LL Workshop on Archiving and Web Dissemination of Geotechnical Data. Richmond, CA: U.S. Geological Survey.
Hunt, R. R. (1984). Geotechnical engineering investigation manual. New York:
McGraw-Hill.
Luo, Y., Liu, X., Wang, W., Wang, X., & Xu, Z. (2004). Web service and geographi- cal information integration. In Proceedings of the COMPSAC Workshops (pp.
130-133). Hong Kong, China: IEEE Computer Society.
Malik, T., Szalay, A. S., Budavari, T., & Thakar, A. R. (2003, January). SkyQuery:
A Web service approach to federate databases. In Proceedings of the First Biennial Conference on Innovative Data Systems Research (pp. 188-196).
Asilomar, CA: VLDB Endowment.
Robertson, P. K., Woeller, D. J., & Finn, W. D. L. (1992). Seismic cone penetra- tion test for evaluating liquification potential under cyclic loading. Canadian Geotechnical Journal, 15(29), 686–695.
Swift, J., Bardet, J. -P., Hu, J., & Nigbor, R. (2002). An integrated RDBMS-GIS-IMS system for dissemination of information in geotechnical earthquake engineer- ing. Accepted by Computers & Geosciences.
U.S. Army Waterways Experiment Station (1998). Standard data format for geo- technical/geological exploration (Project 98.005). Retrieved December 1, 2005, from http://tsc.army.mil/products/geotech/geocover.asp
Zimmermann, R., Bardet, J. -P., Ku, W. -S., Hu, J., & Swift, J. (2003, July). Design of a Geotechnical Information Architecture Using Web Services. In Proceed- ings of the Seventh World Multi-Conference on Systemics, Cybernetics, and Informatics (pp. 394-398). Orlando, FL: IIIS Publication.
Zimmermann, R., Ku, W. -S., & Chu, W.-C. (2004, November). Efficient query routing in distributed spatial databases. In Proceedings of the International Symposium Advances in Geographic Information Systems (pp. 176-183).
Washington, DC: ACM Press.
Endnotes
1 http://www.ejge.com/GML/
2 https://www.seegrid.csiro.au/twiki/bin/view/Xmml/WebHome
3 http://www.opengeospatial.org
4 http://www.w3.org/2002/ws/
5 http://www.w3.org/2000/xp/Group/
6 http://www.w3.org/Graphics/SVG
7 http://www.w3.org/XML/Schema
8 http://datalab.usc.edu/axis/CLS\_Services.jws?wsdl
9 http://www.w3.org/TR/soap12-part0/
10 http://jakarta.apache.org/tomcat/index.html
11 http://ws.apache.org/axis/index.html
12 http://xml.apache.org/xalan-j/
13 http://java.sun.com/j2se/index.jsp
14 http://xml.apache.org/xerces2-j/
15 http://xml.apache.org/batik/
16 http://terraserver.microsoft.com/
17 http://datalab.usc.edu/gime/