Question

UUID generator in GDB in text format


Hi All,

I have a data in GDB with some field ID and i want to generate UUID for this in specific format.

for this i have used UUID generator but results are not as per my retirements.i.e 32 digit with dash in between eg.

I want Entity_ID in such format : 000000000-0000-0000-0000-000000000012.

last digit should be from Field ID field.

I am not sure which transformer i can use to do this can some body guide me on this ?


11 replies

Userlevel 5
Badge +25

The UUIDGenerator should create a UUID in that format. Can you doublecheck this in the Data Inspector?

Are you writing to an existing database? If so, how is the field Entity_ID defined? How are you viewing the data?

The UUIDGenerator should create a UUID in that format. Can you doublecheck this in the Data Inspector?

Are you writing to an existing database? If so, how is the field Entity_ID defined? How are you viewing the data?

 

Hi @redgeographics it's creating entity_ID in this format like "1261736a-984c-4eb6-96c6-54cda1aaba76" but i dont want numbers in first 4 parts.entity-id.jpg. like for example field ID is 363496 so it should required UUID will be 000000000-0000-0000-0000-000000363496
Userlevel 4
Badge +30

Hi @dandekarpriya, to get the last digit you can use the transformer StringSearcher:

Thanks,

Danilo

Userlevel 5
Badge +25

Aha, try this:

This will probably become a problem if your id's are more than 12 characters long because you'll have to deal with the last - as well. Also... if the last digits of the original uuid are similar to what might be contained in your id's, especially if the number of characters in the id is variable, you may end up with not-unique strings. There's probably enough random stuff happening in the first part of the uuid to prevent that, but I'd be wary to start tinkering with something that's supposed to be unique.

Userlevel 2
Badge +17

Have a look at the StringFormatter and the StringConcatenator.

Aha, try this:

This will probably become a problem if your id's are more than 12 characters long because you'll have to deal with the last - as well. Also... if the last digits of the original uuid are similar to what might be contained in your id's, especially if the number of characters in the id is variable, you may end up with not-unique strings. There's probably enough random stuff happening in the first part of the uuid to prevent that, but I'd be wary to start tinkering with something that's supposed to be unique.

Hi @takashi is there a way i can just append my field_ID to other string with values zero value . so as to get the format 00000000-0000-0000-0000-000000000012

 

Userlevel 2
Badge +17

Have a look at the StringFormatter and the StringConcatenator.

This screenshot illustrates my intention. Does this generate your desired formatted ID string?

 

 

Badge +6

 

Hi @redgeographics it's creating entity_ID in this format like "1261736a-984c-4eb6-96c6-54cda1aaba76" but i dont want numbers in first 4 parts.entity-id.jpg. like for example field ID is 363496 so it should required UUID will be 000000000-0000-0000-0000-000000363496
Hi @dandekarpriya

 

Just to confirm you want a UUID format but without the alphanumerical data? So for example, if you have the following:

 

UUID: 1261736a-984c-4eb6-96c6-54cda1aaba76

 

Field ID: 363496

 

You want your output to be '000000000-0000-0000-0000-000000363496' rather than '1261736a-984c-4eb6-96c6-54cda1363496'

 

 

Is that correct? If so, you will not want to use a UUID transformer, but I thinking something along the lines of what @takashi and @danilo_inovacao suggested.

Have a look at the StringFormatter and the StringConcatenator.

thank you @takashi it worked

 

Userlevel 2
Badge +17

Have a look at the StringFormatter and the StringConcatenator.

Good to hear, but I may have to add a comment. That is, with the workflow above, the number of digits of the last part in the resulting ID string would be greater than 12 if the original field ID consists of 13 or more digits.

 

For example, if the field ID was this 18 digits string,

 

123456789012345678
the result would be

 

00000000-0000-0000-0000-123456789012345678
If you need to create

 

00000000-0000-0012-3456-789012345678
in this case, it would be necessary to modify the workflow.

 

 

Badge +10

A bit late of a reply but use a StringReplacer:

Text to replace: (\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})

Replacement Text:\\1-\\2-\\3-\\4-\\5

Which should solve the issue if your original string is longer than 12

Reply