# Work in UTM Without a Displayed Map

You can set up UTM to calculate coordinates without generating a map display, using the `defaultm` function. The `utmzone` and `utmgeoid` functions help you select a zone and an appropriate ellipsoid. In this example, you generate UTM coordinate data for a location in New York City, using that point to define the projection itself.

Define a location in New York City. Obtain the UTM zone for this point.

```lat = 40.7; lon = -74.0; z = utmzone(lat,lon)```
```z = '18T' ```

Get the suggested ellipsoid vector and name for this zone.

`[ellipsoid,estr] = utmgeoid(z)`
```ellipsoid = 1×2 106 × 6.3782 0.0000 ```
```estr = 'clarke66' ```

Set up the UTM coordinate system based on this information.

```utmstruct = defaultm('utm'); utmstruct.zone = z; utmstruct.geoid = ellipsoid; utmstruct = defaultm(utmstruct);```

Transform the coordinates, without a map display.

`[x,y] = projfwd(utmstruct,lat,lon)`
```x = 5.8448e+05 ```
```y = 4.5057e+06 ```

Compute the zone limits (latitude and longitude limits) for a specified zone by using the `utmzone` function. You can also call `utmzone` recursively to obtain the limits of the UTM zone within which a point location falls.

`utmzone('18T')`
```ans = 1×4 40 48 -78 -72 ```
`[zonelats,zonelons] = utmzone(utmzone(40.7,-74.0))`
```zonelats = 1×2 40 48 ```
```zonelons = 1×2 -78 -72 ```

Alternatively, set up a UTM coordinate system using a `projcrs` object. To create the object, specify an EPSG code. For information about EPSG codes, see the EPSG registry. Verify that the `projcrs` object has the correct name and ellipsoid. Then, transform the coordinates.

```p = projcrs(26718); p.Name```
```ans = "NAD27 / UTM zone 18N" ```
`p.GeographicCRS.Spheroid.Name`
```ans = 'Clarke 1866' ```
`[xp,yp] = projfwd(p,lat,lon)`
```xp = 5.8448e+05 ```
```yp = 4.5057e+06 ```