18.04.2015 Views

ArcGIS Engine Developer Guide

ArcGIS Engine Developer Guide

ArcGIS Engine Developer Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

BUILDING A COMMAND-LINE JAVA APPLICATION<br />

the geometry type. Create new fields using the IFieldsEdit interface and return<br />

this object.<br />

try {<br />

Fields fields = new Fields();<br />

IFieldsEdit fieldsEdt = fields;<br />

Field field = new Field();<br />

IFieldEdit fieldEdt = field;<br />

GeometryDef geometryDef = new GeometryDef();<br />

double dGridSize;<br />

if (spatialRef.hasXYPrecision()) {<br />

double[] xmin = {0};<br />

double[] ymin = {0};<br />

double[] xmax = {0};<br />

double[] ymax = {0};<br />

spatialRef.getDomain(xmin, xmax, ymin, ymax);<br />

double dArea = (xmax[0] - xmin[0]) * (ymax[0] - ymin[0]);<br />

dGridSize = Math.sqrt(dArea / 100);<br />

}else {<br />

dGridSize = 1000;<br />

}<br />

geometryDef.setGeometryType(shapeType);<br />

geometryDef.setHasM(hasM);<br />

geometryDef.setHasZ(hasZ);<br />

geometryDef.setSpatialReferenceByRef(spatialRef);<br />

geometryDef.setGridCount(1);<br />

geometryDef.setGridSize(0,dGridSize);<br />

// Add oid field - must come before geometry field.<br />

fieldEdt = new Field();<br />

fieldEdt.setName("OBJECTID");<br />

fieldEdt.setAliasName("OBJECTID");<br />

fieldEdt.setType(esriFieldType.esriFieldTypeOID);<br />

fieldsEdt.addField(fieldEdt);<br />

// Add Geometry field.<br />

fieldEdt = new Field();<br />

fieldEdt.setName("SHAPE");<br />

fieldEdt.setIsNullable(true);<br />

fieldEdt.setType(esriFieldType.esriFieldTypeGeometry);<br />

fieldEdt.setGeometryDefByRef(geometryDef);<br />

fieldEdt.setRequired(true);<br />

fieldsEdt.addField(fieldEdt);<br />

return fieldsEdt;<br />

}catch (IOException ex) {<br />

ex.printStackTrace();<br />

return null;<br />

}<br />

}<br />

Chapter 6 • <strong>Developer</strong> scenarios • 421

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!