Contact: Kyle Martin, General Manager
          kyle.martin@mosaicsgis.com





Kyle Martin is a geospatial computer scientist with 13 years of experience in the geospatial industry. He specializes in computational geometry with particular emphasis in high performance point cloud computing. Kyle's work with point clouds range from the development of core point cloud access engines, filtering and extraction algorithms, to the rendering of point clouds. Kyle's experience also includes gis and database software development within all of the major geospatial and database platforms.

* Please click here for a biography of Kyle Martin and a more printable version of his resume in PDF format.

Most Commonly Performed Services
  • Point Clouds
    • Point cloud engine development
    • Point cloud visualization
    • Extraction and filtering algorithms from point clouds
    • Integrating point clouds into third party environments

  • Computational Geometry and Geometric mathematics
    • Contouring algorithms and contour labeling algorithms
    • Surface analytics: intersections of surfaces, volumetrics, critical point coding
    • Surface interpolations algorithms: TIN (with breaklines) and spline

  • Geospatial application development
    • ESRI platform application development using ArcObjects
    • ArcPAD application development
    • Stand alone application development

  • Database application development
    • SQL based applications with MS Access, SQL Server, or Oracle

Current Research Interests and On-going Projects
  • Partioning data structures and algorithms for point clouds: is there a way to build kd, R, etc. trees that give meaning to the points within the nodes. For example, all points within a node are in a relationship or related with each other (e.g., points along a power line, a building roof, road points). And two nodes may be adjacent to each other, or even connected to each other. With this level of understanding of the point cloud, the points are partioned and segmented in a useful way. Applications not only need to include the main stream extraction algorithms (e.g., power lines, buildings, trees, etc.) but also be used for development of an algorithm that provides an optimum view of points from any perspective (a much needed algorithm for street view type point cloud technologies). Data structures like these can also provide a foundation for which algorithms can be developed based on topological properties rather than euclidean properties (e.g., searching for points within related, adjacent and/or connected nodes as opposed to a moving window of user specified size).

  • Using Point Clouds on GPU's: In the correct situations the use of point clouds on general purpose GPU's can be very worthwhile. I have generated a design and plan that can serve as a generic model for point clouds on GPGPU's and can be integrated with a point cloud engine on the CPU. I would appreciate any feedback here, and interested parties that have an application(s) that I could use for implementing the design.

  • GeoSpatial Software Development Kit: An SDK for building robust geospatial applications.

General views of point clouds in traditional orthographic, profile orthographic, and perspective.


Display of the intersection of a sphere, and elliptical cones to an outer sphere, shown with wireframes, and slices.

Selected Papers

Past and Present Clients

Tucker Innovations Inc. and Chesapeake Technology International -- Algorithms for Dynamic 4D Volumetric Calculations and Analysis

QCoherent Software -- Colorado Springs, CO -- Founder and R&D Manager

RadioSoft -- Demorest, GA -- Senior Software Engineer

Watershed Concepts -- Charlotte, NC -- Senior Software Engineer

Merrick & Company -- Aurora, CO -- GIS Software & Application Engineer

Intera, Inc -- Niwot, CO -- GIS Software & Application Engineer

Dynamic Association Mapping -- Denver, CO -- GIS Consultant

Cranfield University -- United Kingdom -- GIS Software & Application Engineer

North Carolina State University -- Raleigh, NC -- Research Scientist


Computing and Math Skills

Education

North Carolina State University -- Raleigh, NC

Honors

Hobbies & Activities



QCoherent Software -- Colorado Springs, CO -- 4/2005 - 8/2011 (Purchased by GeoCue in 12/2009)

          High Performance Lidar Software - Founder and senior designer and engineer in development of the LP360 Limitless LIDAR™ software suite from QCoherent Software. Participated in all phases of the development cycle from design, development, testing, and maintenance including development of the context sensitive help system. LP360 is a lidar software system which includes an ArcGIS extension, web server, stand alone application, and object library (LPObjects™) for custom development of user solutions. Major highlights in design and development include:

Kyle's Wilderness -- Charlotte, NC -- 6/2009 - 9/2009

         Data Photography Archive Application - An application in VB.Net was built to display and modify the contents of an Access database used for archiving images, and the data associated with the images. The application is used by Kyle’s Wilderness to maintain a searchable catalog of images, compositions and associated data with each piece of artwork. The database is used as the backend and driver for the Kyle’s Wilderness Photography website.


RadioSoft -- Demorest, GA -- 5/2005 - 11/2005

         Data Converter/Terrain Editor Software - The data conversion application converts SRTM files (hgt, flt) into a proprietary raster file format with/without compression. Uncompressed raster files were then edited with the terrain editor application. The terrain editor application uses tools to fill in gaps in the SRTM data. Tools to conduct the gap filling include setting pixels a certain value, copy/paste pixels from other data sources, and interpolating the gaps using inverse distance weighted and spline methods. After editing, the raster files were then compressed for use in other software packages.


Watershed Concepts -- Charlotte, NC -- 3/2004 - 5/2005     

        Hydrology and Hydraulics Data Model and Software - A data model was designed for conducting flood mapping studies. Software was developed to perform the hydrology and hydraulics (incomplete) analysis to support the flood mapping studies. Hydrological routines developed included basin delineations, stream network generation, and time of concentration (TC) calculations. The software was designed to use the data model in an MS Access, SQL Server, and/or Oracle database.

        LiDAR QC Software - A windows application was developed in C++ to view large amounts of LiDAR datasets and accompanying images for the purpose of quality control before accepting the LiDAR data as final. The application also performs a z value conflation from the TIN to test control point RMSE accuracy's. The windows application was developed using MFC and a standalone ActiveX control was used as the map canvas.

        Visual Hydraulic Model Editor -
A visual editor for approximate and detailed hydraulic models was developed for use in the WISE® software. WISE® is a pre and post processor software for flood plain mapping. The visual editor is used to view and edit cross sections and structures (i.e., bridges, culverts, and weirs) to prepare an area for hydraulic modeling of maximum rainfall discharge amounts. The editor was developed in VB.

        Automatic Flood Plain Mapping - A routine was developed to delineate flood boundaries based on discharge levels at cross sections along a stream. The routine has parameters to allow the user to filter out small polygons based on area and a shape metric (i.e., circularity). The closed boundaries are saved in a line shapefile. The routine was written in VB using stand-alone computational geometry routines.

       
Contour Generation - A routine was developed to generate contours from a TIN at a user specified contour interval. The routine was developed in VB.




Merrick & Company -- Aurora, CO -- 9/1999 - 3/2004

        Data Analyzer Application - This application is a highly customized version of the table summary dialog in ArcGIS. The application is implemented as an extension in ArcMap and is written using C++. This application allows the user to select geometry to summarize tabular data. The user may also elect to create rings around the selected geometry to summarize data at differing distances from a location. The data summarized is typically census data but any spatial and tabular dataset can be used.

        Sheet Cutter Application - Program written in C++ using MFC windows development. The program “sheet cuts” DGN files using shapes/polygons contained within another DGN file (Sheets). The user can also input a buffer distance to cut sheets with a buffer around the shape/polygon. The program uses a DGN library independent of Microstation.

        Pyramid strip from Socket Set Support Files Application - Program written in C++ using MFC windows development. Program strips the image pyramid from a selected set of Socket Set support files (*.sup).

        ArcInfo Librarian to Stand Alone Feature Class Application - Program written in C++ using MFC windows development. The program converts a feature class in an ArcInfo Librarian to a stand-alone shapefile feature class. The user can specify an area of interest using a polygon feature class and conflate attributes from MS Access or DBF databases to the resulting stand-alone feature class.

        Breakline to Nearest Neighbor Surface - Program written in C++ using MFC windows development. The program creates an ASCII raster from breaklines stored in a DGN using a nearest neighbor interpolation (i.e., Thiessen polygon) method. The program uses a DGN library independent of Microstation.

        Export Breakline Buffers Application - Program written in C++ using MFC windows development. The program exports a buffer around breaklines stored in a DGN.  The buffer is exported to an XYZ file. The buffer size and density of points are control by user input. The program uses a DGN library independent of Microstation.

        Batch File Expression Builder - ArcMap command written in C++ using ArcObjects to automate the creation of batch files that consist of information from a spatial feature class.

        Crossing Breakline Application - Program that flags dangling nodes, overshoots, or undershoots in breaklines. Built to replace an ArcInfo AML program, which eliminated the need for an ArcInfo license, and to increase performance. The program was built in C++ using MFC windows development to batch process breaklines stored in a DGN file. The program uses a DGN library independent of Microstation.  

        XYZ to Microstation Cell - Program written in C++ using MFC windows development. The program converts each XYZ line in the text file to a Microstation cell. The cell consists of a cross hair centered on XY with text displaying the z value offset from the XY. A DGN library independent of Microstation was used.

        XML Format File Merger - Program written in C++ using MFC windows development. The program merges a part of an XML file (proprietary data to the client) into a another XML file.

        File Append/Merge Application - Program written in C++ using MFC windows development. The program appends text files and merges DGN files together from a selected set of files. A DGN library independent of Microstation was used.

        File Append/Merge Directory Application - Program written in C++ using MFC windows development.  The program appends text files and merges DGN files together that are named the same from two different directories selected by the user. A DGN library independent of Microstation was used.

        Automated Contour Annotator - (Presidents Award Nomination, 2003) Program to place contour annotation on index contours in a batch mode. Placement routines were written in C++ with a front end GUI written in VB, all running on top of ArcObjects. The routines are fed inputs ranging from annotation frequency, distance to planimetric features, curvalinearity of the contours, text height, width, and performance/speed settings.

        Contour Depression Coder - (Presidents Award Nomination, 2003) Program that codes depression contours in batch mode based on a underlining surface. Coding routines were written in C++ with a front end written in VB, all running on top of ArcObjects.

       DGN to XYZ or Arc Line/Point Text File Converter - Program written in C++ using MFC windows development to convert DGN files to 3 types of XYZ text files, or ESRI Arc Line/Point generate files. A DGN library independent of Microstation was used.

        ESRI Shapefile to DGN Converter - Program written in C++ using MFC windows development to convert ESRI shapefiles to Microstation DGN files. A DGN and Shapefile library independent of Microstation and ArcView was used.

        PRO600 Codelist file to Microstation Macro file Converter - Program written in C++ using MFC windows development to convert a PRO600 codelist text file to a macro text file used in Microstation.

        XYZ to DGN, DXF or DWG Converter - Program written in C++ using MFC windows development to convert XYZ text files to DGN, DXF, or DWG files. The program can reconstruct points or lines as in the case of mass points or breaklines. GUI input is used to control the level or layer, color, linestyle and weight on the new elements. A DGN and DXF/DWG library independent of Microstation and AutoCAD were used.

        DGN Arc to Linestring Converter - Program written in VB (Microstation V8) to convert Arc elements into linestring equivalents. GUI input controls the resolution of vertex output for the resulting linestrings.

        Spatial Data Tracking and Updating System - Extension to ArcMap written in VB to facilitate the tracking and updating of spatial data changes within an organization. The application consists of three main features: locating the area of spatial data change and documenting the changes required, registering the scanned image or CAD file representing the required changes, and feature extraction and capture of the new features. Application includes an administrator to streamline the setup for any client.

        Flight Mission Planning - (Presidents Award Nomination, 2003) Extensive application for the complete planning of a LiDAR and/or photography (conventional or digital) mapping mission. Includes autolining routines, 3D support for flight line breaks using USGS DEMs or TOPO!. Application written in VB as an extension to ArcMap with a moderately sized flight planning C++ object library. 

        XYZ to ESRI TIN - Program written in VB using ArcObjects to construct ESRI TIN’s from multiple XYZ files.

        Transformation/Adjustment Applications - Programs written in VB using ArcObjects to adjust spatial data using user specified link adjust files, or linear XY shifts. Programs can convert the adjusted files from DXF to shapefiles or shapefiles to DXF files. 

        Feature Coding Automation Programs - Batch recoding programs written in VB using ArcObjects to automate the coding, or removing of features based on spatial rules the spatial data must conform to defined by an external client.

        Map Editing Toolset for ArcMap - Set of production tools developed in VB for use in ArcMap. Toolset includes streamlined add and remove vertex tool, snapping lines and nodes tool, dissolving lines and nodes tool, and pan tools for editing a selected set of features.

        Grid/Tile Maker Application - Extension to ArcMap written in VB to automate the creation of polygon tiles used in mapping projects. Application optimized for mapping project planning by utilizing project boundaries as well as tile shifting and addition tools.

        Utility Data Entry Application - Custom edit forms were developed for data entry of utilities information in the field. Custom forms were developed using VBScript and ArcPad.

        Shapefile Synchronizer - Application written in VB using ArcObjects to synchronize multiple shapefiles (e.g., sanitary manholes) that have been edited by separate survey crews using ArcPad applications.

        Mapping Project QC Application - Extension to ArcView written in Avenue to “red line” errors in spatial data for planimetric and orthophotography mapping projects.

        File Moving and Renaming Utility - Program written in VB to rename and/or move files in a custom fashion in batch mode.

        Utility Data Editing Application - Extension for ArcMap written in VB. Extension includes tools to edit spatial locations of manholes and recalculate attribute information for the attached line data such as slope, capacity, etc.

        Automated Utility Database Builder  - Tools written in VB for use in ArcMap to automate population of attached manhole ids on pipes and the calculation of pipe elevations based on attached manhole dip attributes.

        Image Cataloger - Program written in VB using ArcObjects to create an image catalog (i.e., form of a dbf file) for a set of selected images.

        SDTS to ESRI Grid Application - Program written in VB using ArcObjects, SDTS extract utility, and zip file utility to automate the extraction of SDTS DEM zip files to ESRI GRID files. The program will convert the created GRIDS to a user specified vertical unit and put spatial reference information in the GRID from the SDTS ddf files.

        DEM/GRID Mosaic Application - Program written in VB using ArcObjects to mosaic a set of user specified ESRI GRIDS.

        Shapefile Merge Application - Program written in VB using ArcObjects to merge a set of user specified shapefiles into one shapefile.

        Textfile Manipulation Utilities - Various batch programs written in VB to manipulate textfiles such as replace routines, removing lines from the file, converting delimiters, chopping files into user specified sizes, and X, Y, or Z shifts.

        Flight Management System Testing and Setup - Installed, setup, and tested a flight management system for LiDAR, and photography (digital, and conventional) mapping missions.

        ESRI Shapefile Attributes to AutoCAD Block Attribute - Program written in AutoCAD VBA to convert attributes in a ESRI point shapefile to a block with attributes from the shapefile attributes.

        Batch Block Insertion Application - Program written in AutoCAD VBA to insert blocks for points within a user specified set of AutoCAD drawings.

        CAD Drawing from multiple DXF files - Program written in AutoCAD VBA to create drawings from multiple DXF file sources in batch mode.

        Batch CAD Drawing “Clean” Application - Program written in AutoCAD Map VBA to conduct a clean on a set of drawings to remove duplicate entities (i.e. overlapping).

        ArcInfo Coverage to CAD Drawing Creator - Program written in AutoCAD Map VBA to automate and customize (using an Access Database with project settings) the creation of a drawing from a set of ArcInfo coverages. Program included automated polygon hatching for polygon entities.

        Incident & Inventory Application - Extension written for ArcView using Avenue that allows the user to document incidents and inventory information on spatial features.

        Needs Assessment and Implementation Plans - Conducted four GIS needs assessments and implementation plans for external clients of Merrick & Company. Needs assessments consisted of an extensive interview process of the external clients workflow, spatial data, and application requirements as well as the prioritization of the data and application requirements. The implementation plan was designed to be a timeline to help budget costs for the prioritized action items as well as insuring the proper data was available for required application development in a given budget period.

        Atlas and Map Production Application - Extension written for ArcView using Avenue that automates the creation of maps and atlases. An extensive administrator is used to control map standards within an organization.




Intera -- Niwot, CO -- 7/2002 - Present

        GIS integration with Hydrology Modeling Software - Geoprocessing routines (intersection, union) written for use in ArcMap using VBA to summarize hydrology datasets linked to databases into text files. The text files were formatted for use in HSPF hydrology modeling software.




Dynamic Association Mapping -- Denver, CO -- 10/2002 - 12/2007

        Production Toolset - Tools written in Avenue scripts and VB using ArcObjects to streamline editing operations for spatial data.

        GIS Consulting Services - Database and application design consulting for development of housing association mapping projects.




Cranfield University -- United Kingdom -- 7/2002 - 8/2002

        Geomorphology Indices Toolset - Tools written for ArcMap in VB to calculate contour sinuosity, stream length, and valley floor to height ratio using GIS data.




North Carolina State University -- Raleigh, NC -- 1/1999 - 3/2003

        Hurricane Damage Research - Wind damage from Hurricane Fran (1997) was statistically related to quantitative measures of landscape position and landform. A logistic regression model was used to quantify and describe the relationships between wind damage and landform metrics. Research was used to quickly assess locations of high damage and predict the dynamics of forest stands to natural disturbance.


Copyright 2013 Mosaicsgis, llc