Subscribe to this thread
Home - General / All posts - Raster to vector
ColinD

2,031 post(s)
#06-Oct-21 22:46

I have an imported Geotif of vegetation communities the numeric codes for which are in Channel 0 "Values". There are 1060 community codes that I have styled individually using Spectrum. Naturally with so many it is not possible to pick the exact color at any specific geographic location.

Along with the Geotif there is a dbf that imports as a tif.vat table that holds all of the data associated with each Value, seven fields.

Is it possible to join the two resulting in a set of vector polygons each drawn from all pixels of the same Value?


Aussie Nature Shots

steveFitz

326 post(s)
#07-Oct-21 00:14

Have a look at Contour Transform to make vector polygons. I'm not sure, but perhaps the values could be treated as heights. If the polygon contour transform works then perhaps you could save the Transform query and extend it to include the associated data fields with a join.

Dimitri


6,803 post(s)
#07-Oct-21 05:11

I suggest the Trace Vector Areas from Raster Pixels example topic. That creates areas ("vector polygons") based on pixel values, and then it shows you how to use the Join dialog to join classification codes from a table.

ColinD

2,031 post(s)
#07-Oct-21 09:47

Thanks Dimitri.


Aussie Nature Shots

ColinD

2,031 post(s)
#07-Oct-21 11:00

Seems there is an unfortunate limitation to styling displaying only 100 unique values. This drawing contains 1068 unique values and being discreet identities, aggregation options are meaningless. I've yet to learn how to change type but would a text type access all 1068?


Aussie Nature Shots

Dimitri


6,803 post(s)
#07-Oct-21 16:25

It's not about the data type, but a feeling that humans can't really keep in mind more than 100 unique styles. It's not an effective use of styles to do that, since nobody is going to differentiate between, say, 1000 different shades.

What you could do is arrange your unique communities into two or three different characteristics, so for one characteristic you could use a variety of hatch patterns and for different characteristic different colors, with the permutations between hatch pattern and color providing more than 100 distinct styles. But that's still making it hard for users as 1000+ different stylings in one layer is not something people can keep in mind or grasp.

antoniocarlos

607 post(s)
online
#07-Oct-21 20:04

Do you want 1068 individual colors on the map? Very difficuclt to do.

Or do you want to be able to color the map in a way that you can distinguish adjacent poligons using color. M8 has this facility.

Not sure about M9. Cant find it.


How soon?

Dimitri


6,803 post(s)
#08-Oct-21 05:03

Use the Style pane to set stroke and fill color based on some attribute. If you just want them different, add a field with random numbers from 1 to 10 and color by that. It's not a classic four color format, but it usually works great.

ColinD

2,031 post(s)
#08-Oct-21 07:59

This doesn't sound right: trace areas not only results in the required areas but also produces hundreds of millions of point objects with Null Geom. I clipped a small section of the trace drawing and exported as shapefile which resulted in Area and Point shapefiles.


Aussie Nature Shots

Dimitri


6,803 post(s)
#08-Oct-21 14:08

Hard to say without seeing your data / more details on what you are doing. From the original description, it sounds like Trace is the right thing. What's the data, and your workflow (settings in the Trace transform, etc)?

ColinD

2,031 post(s)
#08-Oct-21 20:40

Thanks Dimitri, I'll start a new thread for this.


Aussie Nature Shots

ColinD

2,031 post(s)
#09-Oct-21 00:32

Aha! No need, it was Clip that resulted in the Nulls which was dealt with in this thread that I had forgotten

https://georeference.org/forum/t157345.15#157401


Aussie Nature Shots

artlembo


3,216 post(s)
online
#08-Oct-21 15:26

you can write SQL to do what you want (below is an excerpt from my How Do I Do That in SQL for ArcGIS Pro:

SELECT * INTO [howdoi.gdb]::newtable 

(PROPERTY 'FieldGeomType.Geom' 'area',

PROPERTY 'FieldCoordSystem.Geom' 

ComponentFieldCoordSystem([luse68 Tiles]'Tile')

 )

FROM CALL TileTraceAreas([luse68], 1, true); 

I just created these steps, which might do what you are looking for:

1. convert a very large NLCD image into land use areas:

SELECT * INTO newtable1 

(PROPERTY 'FieldGeomType.geom' 'area',

 PROPERTY 'FieldCoordSystem.Geom' ComponentFieldCoordSystem([vfcm05_level2 Tiles]'Tile'))

FROM CALL TileTraceAreasPar([vfcm05_level2], 1, TRUE, ThreadConfig(SystemCpuCount())) ;

CREATE DRAWING [newdrawing1] (

  PROPERTY 'Table' '[newtable1]',

  PROPERTY 'FieldGeom' 'Geom'

);

2. Create a separate query component that selects the values I'm interested in:

SELECT * FROM [newtable1]

WHERE value IN (5, 11, 12)

3. Create a drawing from the query (right-click the query -> create drawing).

4. Create a map component with the new drawing from the query component in it.

5. Change the records I'm interested in for the query (i.e. get rid of certain values, or add others). Then, back in the map component, just refresh the map (Ctrl-F5).

So, in your case, the VALUE IN clause could have the list of values you are interested in seeing.

ColinD

2,031 post(s)
#08-Oct-21 20:42

Thanks Art, I will have a go at it although there are 1068 Values!


Aussie Nature Shots

tjhb

9,852 post(s)
#08-Oct-21 23:09

Along with the Geotif there is a dbf that imports as a tif.vat table that holds all of the data associated with each Value, seven fields.

I think this might be the key. That's seven degrees of freedom, seven axes. Seven colours can encode those values in analogue.

Somebody has translated this already I think? To get 1060 individual codes?

I have absolutely no idea what the ultimate objective is here. Who the client is, what needs to be shown.

ColinD

2,031 post(s)
#09-Oct-21 00:36

Tim, it only needed to be themed on one field and wouldn't matter for display purposes that the colours within the primary colours would not all be distinguishable.


Aussie Nature Shots

danb


1,847 post(s)
#09-Oct-21 01:48

It might be worth having a read of:

https://desktop.arcgis.com/en/arcmap/10.7/manage-data/raster-and-images/esri-grid-format.htm

If I remember correctly, the data VALUE in the vat table joins onto pixel value.


Landsystems Ltd ... Know your land | www.landsystems.co.nz

artlembo


3,216 post(s)
online
#09-Oct-21 02:27

yes, those are a lot of colors. I thought that you might be wanting an opportunity to single out a few different groups of colors (i.e. let's pretend that 1-75 are deciduous forest, while 1021 - 1068 are scrub brush).

ColinD

2,031 post(s)
#09-Oct-21 04:04

That is also possible Art, a couple of fields allow that option.


Aussie Nature Shots

Manifold User Community Use Agreement Copyright (C) 2007-2021 Manifold Software Limited. All rights reserved.