Wednesday, June 17, 2015

3D Printing Map Markers


Purpose


3D Print map markers for use with paper maps.

Methods and Materials

Hardware:
MTU-MOST Rep-rap 3D Printer
PLA plastic

Software:
Trimble Sketchup
Cura
Repetier Host


Steps:

1. Design a map marker using Trimble Sketchup (formerly Google Sketchup).  Export as an OBJ file.

2. Use Cura to open the OBJ file and save into GCODE for use with the 3D Printer

3. Use Repetier Host to print the GDODE

Settings:
25% fill


Future


  • Add magnets to the markers for use on whiteboards
  • Add label holders
  • Standardize symbology for Fire/EMS/Emergency Management use

Thursday, January 29, 2015

Decompiling Android ADK files

Decompile Android ADK files to understand how an application works or to gain an understanding of an undocumented API.

Step 1: Get the ADK file

Use AirDroid or you can grab .adk file from the phone itself.

If you rename the application.adk to application.zip, you can open the file and view much of the application except the code itself.

Note: Some applications are compiled using PhoneGap.  When renaming the apk to zip, check out the assets folder for the web data.

Step 2: Decompile ADK

To view the android java code, you must decompile the DEX file.

https://code.google.com/p/dex2jar/wiki/ModifyApkWithDexTool

windows shell

% cd c:\path-to-someApk.apk

% C:\dex2jar-version\d2j-dex2jar.bat someApk.apk

Step 3: Use a viewer to browse JAR file

After you've decompiled the dex file, you will have a .jar file.  There are many options for exploring this but here is an example

jd-gui




That is it!  Browse the code.


Tuesday, January 27, 2015

Geodatabases, ER Diagrams, and Visio

An important step in the planning a geodatabase is creating an Entity-Relationship (ER) diagram.   Here is how you can add support for geospatial database modeling1 to Visio 2013 using the Chen's Database Notation.

This tutorial uses Visio 2013 Professional on a Windows 7 machine.

Custom Visio Template for Geospatial Entity

Start

Create blank drawing
Open Chen's Database Notation.  
More Shapes > Software and Database > Chen's Database Notation
Select all the shapes (Entity, Relationship, Attribute, Relationship Connector) and
Right click and choose Add to My Shapes > Add to New Stencil
Save the Stencil with a filename you'll recognize.  I used GeoStencil
Right click on the GeoStencil and choose Edit Stencil

//TODO [insert video]

Entity

Right click on Entity and select Copy
Paste
Right click and Rename the Master to GeoEntity
Right click on GeoEntity and choose Edit Master > Edit Master Shape
Use the Line tool to draw the horizontal line and two vertical lines.
Click on the Text and resize the current text box.
Type in "Object (entity)" in the original label.
Add three new text boxes.  Type in "Spatial Object", "G", and "T"

  • Spatial Object is the Associated Spatial Object Type
  • G represents the XY Coordinate Indicator
  • T represents the Topology Indicator

Close the window. It will ask you to "Update GeoEntity?"  Choose Yes.

//TODO [insert video]

Entity Temporal

Copy the GeoEntity shape and rename to GeoEntity Temporal
Edit the Master > Edit Master Shape
Highlight all shapes and select Group.
Copy and paste
Edit the new shape and remove the text.
Send to back
Copy and paste new empty shape and send to back.
Rearrange them.
Highlight all and select Group.
Close the window.  It will ask you to "Update GeoEntity Temporal?"  Choose Yes.

//TODO [insert video]

Topology

Right click on Relationship and select Copy
Paste
Right click and Rename the Master to GeoTopology
Right click on GeoTopology and choose Edit Master > Edit Master Shape
Delete the current shape.
Use the Line tool to draw a hexagon.

Close the window. It will ask you to "Update GeoEntity?"  Choose Yes.

//TODO [insert video]

Derived Topology

Right click on GeoToplogy and select Copy
Paste
Right click and Rename the Master to GeoDerivedTopology
Right click on GeoDerivedTopology and choose Edit Master > Edit Master Shape
Select the shape, copy and paste.
Resize the new shape
Send to Back
Highlight both shapes and select Group > Group

Close the window. It will ask you to "Update GeoEntity?"  Choose Yes.

//TODO [insert video]


If anyone has ideas on how to improve this or if there are other technologies that do something similar, please let me know.

References

1 Calkins, Hugh W., Entity Relationship Modeling of Spatial Data for Geographic Information Systems, International Journal of Geographical Information Systems, January 1996.
Link