SDF Layer Style Rule Expression

SDF Layer Style Rule Expression

townest
Advocate Advocate
1,366 Views
6 Replies
Message 1 of 7

SDF Layer Style Rule Expression

townest
Advocate
Advocate

Hi,

I'm looking for cleaner layer rule expression syntax than the following sample:

ParcelNum = 'TL55682' OR ParcelNum = 'TL88956' 

 

Something like:

ParcelNum = ('TL55682', 'TL88956')

 

You can see where I'm going with this...to include a large'ish arbitrary csv list that would be cleaner that repeating ParcelNum = XX OR.  

 

Thank you.

Tyler

Map3d2019

 

0 Likes
Accepted solutions (2)
1,367 Views
6 Replies
Replies (6)
Message 2 of 7

Gary_Braun
Collaborator
Collaborator
Accepted solution

Try   ParcelNum IN ('TL55682', 'TL88956')

0 Likes
Message 3 of 7

townest
Advocate
Advocate

Great.  Thank you.  

What language is the Map3d expression language, so I can learn more about it?  I've perused documentation for language to no avail.

Tyler

0 Likes
Message 4 of 7

Gary_Braun
Collaborator
Collaborator
Accepted solution

Sorry but I don't know what language it is. Similar to SQL in some ways, but probably their own thing. As for learning more about it, I think their online reference is going to be your best bet.

 

https://knowledge.autodesk.com/support/autocad-map-3d/learn-explore/caas/CloudHelp/cloudhelp/2019/EN...

0 Likes
Message 5 of 7

townest
Advocate
Advocate

Yeh, I've been through that, but it's rudimentary at best.  I'm not even seeing your 'IN' solution.

 

@Gary_Braun, while I have you.  Something that's been a severe disappointment is my inability to write expressions on more than one joined property.  Say you have SDF of parcels joined to ODBC of parcel data (owner, tax, district, phone,etc).  Try a simple label concat expression with joined properties (e.g. owner, phone) and the expression fails.  I've presented this question before here and confirmed this behavior.  But maybe you know a workaround.  Joining data is the essence of GIS, so I'm having difficulty thinking this the end of the story. 

 

FYI: The work around of bulk copy to another SDF thereby embedding the joined data is not really desirable.

  

Thank you.

Tyler 

0 Likes
Message 6 of 7

Gary_Braun
Collaborator
Collaborator

Yes it fails for me as well, and I don't have an answer.

 

All I can say is that as much as I love Map 3D, I do all of my GIS work in other software for many reasons, this being but one more of them.

0 Likes
Message 7 of 7

ChicagoLooper
Mentor
Mentor

To match any value in a list, you can use the IN operator. You can find it in Create Query window (see image-1).

1-The IN operator can be found here.1-The IN operator can be found here.

 

 

To achieve your goal in a more elegant way, join two or more strings into one by using the CONCAT function.For example below, three strings have been joined to form a parcel label (see image-2).

  • parcelpin
  • mail_addr_
  • mail_zip 

2-CONCAT function.2-CONCAT function.

 

Use the line break '\P' to put the strings on separate lines. The line break is case sensitive. 

Chicagolooper

EESignature

0 Likes