mapobjects and arcsde8downloads.esri.com/support/documentation/other_/uc2000/...filterexpression •...

33
MapObjects and ArcSDE8 Frequently Asked Technical Questions

Upload: phamminh

Post on 01-Jul-2018

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

MapObjects and ArcSDE8

Frequently AskedTechnical Questions

Page 2: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

MO2 and ArcSDE8MO2 and ArcSDE8

• Frequently Asked Technical ???– Connecting– Querying / Editing– GeoDatabase– Relating to external data– Deploying

Page 3: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Supported data formats

MapObjects

Coverages

ArcSDE8

CAD

Shapefiles

Images

Page 4: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

ArcSDE8

MapObjects

GeoDatabase ArcSDE8

SDE 3 ArcSDE forCoverages

Page 5: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Current versions

• MapObjects 2.0a• MapObjects 2.0 + 2.0a upgrade• ArcSDE 8.0.2

http://www.esri.com/modeveloperconnection

Page 6: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Supported formats

• SDE 3.x layers• ArcSDE8 layers• GeoDatabase• ArcSDE for Coverages

Page 7: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Accessing the dataDataConnection

Layer

QueriesAddRelate

DataBase

Edits

Filters

RecordsetTable

Page 8: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

How do you connect?

dc.Server = <Server Name>

dc.Database = <Instance>

dc.User = <User>

dc.Password = <Password>

dc.Connect

Page 9: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

DataConnection

• SDE 3.x layers– Using moSDE302.dll

dc.Server = "server3x"

or

dc.Server = "SDE30:server3x"

– Using moSDE80.dlldc.Server = "SDE80:server3x"

Page 10: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

DataConnection

• ArcSDE8• ArcSDE for Coverages

dc.Server = "SDE80:server8x"

dc.Database = "esri_sde"' dc.Database = "esri_sde:sde"

dc.User = "sde"

dc.Password = "sde"

dc.Connect

Page 11: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

GeoDataset Name

• Single-database DBMS<owner>.<tbl>.<spatial column>.<feature>

• Multiple-database DBMS <db>.<owner>.<tbl>.<spatial column>.<feature>• ArcSDE for Coverages

– Depends on source data

Page 12: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

When is SDE license used?

• MO uses SDE license until• All SDE layers are removed• Memory freed from global variables

– Layer, Table, Field, etc.• dc.Disconnect• Application terminates

Page 13: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

What about query performance?

• Client side query– Spatial– Attribute

• Better performance– Server side query

• Filters

Page 14: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Why use filters?

• Improve performance• Reduce number of records sent by server• Serve only necessary fields

– Text field when rendering Labels– Shape field for drawing operations

Page 15: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

FilterExpression

• Simple querystate_name = 'California'

• Complex querystate_name =

(select state_name from sttab

where sde.sttab.code = '123')

Page 16: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Client side queries

• Attribute query– SearchExpression

• SQL where clause

• Spatial queries– SearchShape– SearchByDistance

Page 17: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

SearchExpression• ArcSDE

– SQL Where clause– Use Shape to query FID

• lyr.SearchExpression("Shape > 10")

• ArcSDE for Coverages– INFO operators (cn, lk)

• lyr.SearchExpression("st_name lk 'Dakota'")

Page 18: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Is the data editable?

MapObjects

GeoDatabase

VersionedArcSDE8

SDE 3 ArcSDE forCoverages

GeoDatabase

Page 19: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

ArcSDE layers

• ArcSDE8 and SDE 3– Editable– recs.Updatable returns True

Page 20: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

GeoDatabase

• Personal GeoDatabase– Unsupported

• Not registered as versioned– Editable– recs.Updatable returns True

Page 21: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

GeoDatabase

• Registered as versioned– ReadOnly in MapObjects– MO sees DEFAULT version– recs.Updatable returns False– recs.Edit fails at run-time

Page 22: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Is it Registered? GDB? Versioned?MapObjects

Edit

Editing the Geodatabase

ArcMap

ArcSDE Feature Class or Feature Dataset

ReadOnly

Edit

ReadOnly

No and No

Yes and Yes

Yes and No ReadOnly

Edit

Page 23: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Editing

• MO's Recordset object– MoveFirst– MoveNext– EOF

• SDE controls edit management– Ignores AllowSharing/AutoFlush

• SDE API

Page 24: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Latest at MapObjects 2.0a

• With Date/Time column present– .AddNew is successful

• Set to NULL– fld.Value = NULL

• Annotation -- ReadOnly

Page 25: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

External tables?

Relate Fields

Page 26: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Table object

• Connect to external table• ReadOnly• All fields accessible

– Queries– Symbology or Rendering

Page 27: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

AddRelate

tbl.Server = "SDE80:server"tbl.Database = "esri_sde"' tbl.Database = "esri_sde:sde"

tbl.User = "sde"tbl.Password = "sde"tbl.Name = "sttab"

• Same DBMS instance as layer

Page 28: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

AddRelate (cont'd)

• Use fully-qualified field names

toFld = "sde.states.state_name"

frFld = "sde.sttab.state_name"

lName = "sde.states.shape.polygons"

Map1.Layers(lName).AddRelate(toFld, tbl, frFld)

Page 29: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

ArcSDE8 and Projections

• Metadata in ArcSDE layer's table• ReadOnly to MO• To update? Use SDE API• Rename PE_GRIDS directory

Page 30: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Export to shapefile

• Export method on Recordset• OK if no Date fields

– Skip .Value when Null Date' Shapefile dates are populated as yyyy-mm-dd

tDescSHP.FieldLength(i) = 10

strDate = '2000-03-14'

recs.Fields("date").Value = strDate

Page 31: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Deploying

• SDE 3.x onlyMoSde302 2.0.1.100 SDE 3.0 support library

MoSde302Table 2.0 SDE 3.0 support library

SDE30 3.0.2.1 SDE 3.0 extension library

Page 32: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Deploying

• ArcSDE8MoSde302 2.0.1.100 SDE 3.0 support library

and/or

MoSde80 2.0.1.100 ArcSDE 8.0 support lib

SDE80 3.0.2.1 ArcSDE 8.0 extension lib

PE80 8.0.1 ArcSDE 8.0 project engine

SG80 8.0.1 ArcSDE 8.0 shape geometry

(P.S. Remember pe.dll and sg.dll)

Page 33: MapObjects and ArcSDE8downloads.esri.com/support/documentation/other_/uc2000/...FilterExpression • Simple query state_name = 'California' • Complex query state_name = (select state_name

Summary

• Connect to ArcSDE8• Filter / Query• Edit• Relate• MO Developer Connection

http://www.esri.com/modeveloperconnection