Clustering Spatial Data to minimize disk I/O

Hi,
I use Oracle Spatial on an Oracle RDBMS 11gR2 EE.
I have read that wiht huge spatial tables (few GB for instance), it is possible to "cluster" the rows having an SDO_GEOMETRY data type.
This can minimized I/O, having spatial geometries grouped in contiguous data blocks.
I have also found that there is the function MD.HHENCODE encodes a two-dimensional point ino a raw string and this string can be used to sort/re-organize the points in a table.
I have not find how this function works. Does someone know the principle on which this function works?
How does this apply to polygons or lines, except by conputing a centroid for these geometries?
I don't know if I get good approach, but generally speaking, does someone know how to "cluster" spatial data to minimize I/O?
Thanks by advance for any tip.
Kind Regards.

Hi Unnamed Cat Person,
Sorry I am late responding to your questions.  You should sign your postings with the name of your cat.  I pester posters to provide a name not just to be petulant, but unless we have names to reference it can be difficult to tell if I am responding to you or to Stefan or to Bryan.  It certainly does not have to be your real name, the cat's name would work just fine.
So you are looking for information not on how to do spatial sorting but rather the "why to do this" and "how does it work" questions surrounding spatial sorting.  This forum is generally not a deep well of such information as it tends to focus on practical implementations.  As a group we often should be more introspective on the reasons why things work they way they do and if there are better ways to do them but then to some degree that is what our employers pay Oracle to do.  You might get better answers for such questions over on stack exchange (Geographic Information Systems Stack Exchange) or you might not.
MD.HHENCODE is an undocumented, fully wrapped, by default unexecutable function in Oracle Spatial - so you won't find anything on this from Oracle.  Exactly how it works is "beyond our ken".  The 12c version of Pro Oracle Spatial is due out next year and I personally wonder if they should keep this section in the book.  I should also note its quite the pain in the backside to use returning a RAW datatype of all things.  So as the book says, the function "more or less" encodes a point in spatially sorted order.  So its very difficult for any of us to say if this function works well or sensibly or follows some established formula, etc.  Its a proprietary black box.
So taking a step back and cribbing from Simon's discussion, you also could just sort on the X and Y values.  This is what PostGIS "order by geometry" does and you could set up something similar in Oracle quite easily.  But I don't really see much value in this approach if you are trying to cluster things together.
Now Simon's article says that sorting on the Morton key is better.  Does he say why Morton keys are better than the above methods?  I guess he does not have a summary section at the top but I feel the results speak for themselves, particularly the illustrations.  Imagine this article without those illustrations and it would be most difficult to visualize.  There are also good illustrations on the wikipedia page
Z-order curve - Wikipedia, the free encyclopedia
Note that as none of us can say how HHENCODE functions, none of us can really state definitively that Simon's Morton Curves are better.  Oracle could quietly change the function tomorrow to produce Morton curves (for all I know it does already as I haven't used the thing in years).  But I think Simon's work is fantastic so in my opinion then his way is better!  Take that for what its worth.  Show his nifty illustrations to your boss and that will end any discussion of your rational.
But wikipedia suggests that an even better way to go is using Hilbert curves.  So hey, does anyone on the list have this implemented in oracle spatial?
Hilbert curve - Wikipedia, the free encyclopedia
So there you go, four approaches:
X Y striping = useless for clustering
HHENCODE = "more or less" works okay in unknown manner
Greener Morton Curves = works well, fully explained, coded for you
Hilbert Curves = might be better, fully explained, you need to code it yourself
Does anyone on the forum have more entries to add?
If you are heck-bent on spatially sorting your data, I'd suggest using Simon's code.  You could also do a head-to-head test against HHENCODE and report back to us your findings.  My suspicion though is that as Bryan and Stefan both allude, that spatial sorting won't cure the problem that brought to you to the forum.  I am not saying there could not be a modest little boost, but its dependent on many other factors I mentioned in my first post.  Anyhow, I have appreciated your posting, it lead me to think more about a topic I've not paid much attention to for years.  We could spend more time in this forum on such issues.  But most often things here are just about how to do a task or bug chasing.  Perhaps there is a better place for these things.  Maybe if a question leads beyond the "how" and "bug" topics, we should cross post into stack exchange?  I dunno.
Cheers,
Paul

Similar Messages

  • Exporting spatial data to SHP or TAB file format

    Hi,
    I have a couple of layers (maps) uploaded as spatial data into an Oracle database. What I'd like to do now is export those maps (data) as standard file format like ESRI Shape or MapInfo TAB file, i.e. write out the data as SHP or TAB file(s) to the disk.
    Is this possible?
    Any hints, reference or third party solution will do.
    Thanks in advance.
    P.S. Here is the original process I followed to upload map data to Oracle.
    1) I had the map data as MapInfo TAB files.
    2) Used the EasyLoader application shipping with MapInfo to upload the data into Oracle.
    All I need now is the reverse engineering.

    If you want to export to ESRI shape and MapInfo and do not have SDE or MapInfo then I would suggest looking into FME (www.safe.com). Look at the Oracle Suite product. You can download an evaluation product. It will export from Oracle Spatial to both formats.
    Thanks
    Dave
    David R. Miller
    Michael Baker Jr., Inc.
    3601 Eisenhower Avenue
    Alexandria, VA 22304
    [email protected]
    www.mbakercorp.com

  • How to find the max data transfer rate(disk speed) supported by mobo?

    I plan on replacing my current HDD with a new and bigger HDD.
    For this I need to know the max data transfer rate(disk speed) that my mobo will support. However, dmidecode is not telling me that. Am I missing something?
    Here's dmidecode:
    # dmidecode 2.11
    SMBIOS 2.5 present.
    80 structures occupying 2858 bytes.
    Table at 0x000F0450.
    Handle 0xDA00, DMI type 218, 101 bytes
    OEM-specific Type
    Header and Data:
    DA 65 00 DA B2 00 17 4B 0E 38 00 00 80 00 80 01
    00 02 80 02 80 01 00 00 A0 00 A0 01 00 58 00 58
    00 01 00 59 00 59 00 01 00 75 01 75 01 01 00 76
    01 76 01 01 00 05 80 05 80 01 00 D1 01 19 00 01
    00 15 02 19 00 02 00 1B 00 19 00 03 00 19 00 19
    00 00 00 4A 02 4A 02 01 00 0C 80 0C 80 01 00 FF
    FF 00 00 00 00
    Handle 0xDA01, DMI type 218, 35 bytes
    OEM-specific Type
    Header and Data:
    DA 23 01 DA B2 00 17 4B 0E 38 00 10 F5 10 F5 00
    00 11 F5 11 F5 00 00 12 F5 12 F5 00 00 FF FF 00
    00 00 00
    Handle 0x0000, DMI type 0, 24 bytes
    BIOS Information
    Vendor: Dell Inc.
    Version: A17
    Release Date: 04/06/2010
    Address: 0xF0000
    Runtime Size: 64 kB
    ROM Size: 4096 kB
    Characteristics:
    PCI is supported
    PNP is supported
    APM is supported
    BIOS is upgradeable
    BIOS shadowing is allowed
    ESCD support is available
    Boot from CD is supported
    Selectable boot is supported
    EDD is supported
    Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
    3.5"/720 kB floppy services are supported (int 13h)
    Print screen service is supported (int 5h)
    8042 keyboard services are supported (int 9h)
    Serial services are supported (int 14h)
    Printer services are supported (int 17h)
    ACPI is supported
    USB legacy is supported
    BIOS boot specification is supported
    Function key-initiated network boot is supported
    Targeted content distribution is supported
    BIOS Revision: 17.0
    Handle 0x0100, DMI type 1, 27 bytes
    System Information
    Manufacturer: Dell Inc.
    Product Name: OptiPlex 755
    Version: Not Specified
    UUID: 44454C4C-5900-1050-8033-C4C04F434731
    Wake-up Type: Power Switch
    SKU Number: Not Specified
    Family: Not Specified
    Handle 0x0200, DMI type 2, 8 bytes
    Base Board Information
    Manufacturer: Dell Inc.
    Product Name: 0PU052
    Version:
    Handle 0x0300, DMI type 3, 13 bytes
    Chassis Information
    Manufacturer: Dell Inc.
    Type: Space-saving
    Lock: Not Present
    Version: Not Specified
    Asset Tag:
    Boot-up State: Safe
    Power Supply State: Safe
    Thermal State: Safe
    Security Status: None
    Handle 0x0400, DMI type 4, 40 bytes
    Processor Information
    Socket Designation: CPU
    Type: Central Processor
    Family: Xeon
    Manufacturer: Intel
    ID: 76 06 01 00 FF FB EB BF
    Signature: Type 0, Family 6, Model 23, Stepping 6
    Flags:
    FPU (Floating-point unit on-chip)
    VME (Virtual mode extension)
    DE (Debugging extension)
    PSE (Page size extension)
    TSC (Time stamp counter)
    MSR (Model specific registers)
    PAE (Physical address extension)
    MCE (Machine check exception)
    CX8 (CMPXCHG8 instruction supported)
    APIC (On-chip APIC hardware supported)
    SEP (Fast system call)
    MTRR (Memory type range registers)
    PGE (Page global enable)
    MCA (Machine check architecture)
    CMOV (Conditional move instruction supported)
    PAT (Page attribute table)
    PSE-36 (36-bit page size extension)
    CLFSH (CLFLUSH instruction supported)
    DS (Debug store)
    ACPI (ACPI supported)
    MMX (MMX technology supported)
    FXSR (FXSAVE and FXSTOR instructions supported)
    SSE (Streaming SIMD extensions)
    SSE2 (Streaming SIMD extensions 2)
    SS (Self-snoop)
    HTT (Multi-threading)
    TM (Thermal monitor supported)
    PBE (Pending break enabled)
    Version: Not Specified
    Voltage: 0.0 V
    External Clock: 1333 MHz
    Max Speed: 5200 MHz
    Current Speed: 2666 MHz
    Status: Populated, Enabled
    Upgrade: Socket LGA775
    L1 Cache Handle: 0x0700
    L2 Cache Handle: 0x0701
    L3 Cache Handle: Not Provided
    Serial Number: Not Specified
    Asset Tag: Not Specified
    Part Number: Not Specified
    Core Count: 2
    Core Enabled: 2
    Thread Count: 2
    Characteristics:
    64-bit capable
    Handle 0x0700, DMI type 7, 19 bytes
    Cache Information
    Socket Designation: Not Specified
    Configuration: Enabled, Not Socketed, Level 1
    Operational Mode: Write Back
    Location: Internal
    Installed Size: 32 kB
    Maximum Size: 32 kB
    Supported SRAM Types:
    Other
    Installed SRAM Type: Other
    Speed: Unknown
    Error Correction Type: None
    System Type: Data
    Associativity: 8-way Set-associative
    Handle 0x0701, DMI type 7, 19 bytes
    Cache Information
    Socket Designation: Not Specified
    Configuration: Enabled, Not Socketed, Level 2
    Operational Mode: Varies With Memory Address
    Location: Internal
    Installed Size: 6144 kB
    Maximum Size: 6144 kB
    Supported SRAM Types:
    Other
    Installed SRAM Type: Other
    Speed: Unknown
    Error Correction Type: Single-bit ECC
    System Type: Unified
    Associativity: <OUT OF SPEC>
    Handle 0x0800, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: PARALLEL
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: DB-25 female
    Port Type: Parallel Port PS/2
    Handle 0x0801, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: SERIAL1
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: DB-9 male
    Port Type: Serial Port 16550A Compatible
    Handle 0x0802, DMI type 126, 9 bytes
    Inactive
    Handle 0x0803, DMI type 126, 9 bytes
    Inactive
    Handle 0x0804, DMI type 126, 9 bytes
    Inactive
    Handle 0x0805, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB1
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x0806, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB2
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x0807, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB3
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x0808, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB4
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x0809, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB5
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x080A, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB6
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x080B, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB7
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x080C, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: USB8
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Access Bus (USB)
    Port Type: USB
    Handle 0x080D, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: ENET
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: RJ-45
    Port Type: Network Port
    Handle 0x080E, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: MIC
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Mini Jack (headphones)
    Port Type: Audio Port
    Handle 0x080F, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: LINE-OUT
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Mini Jack (headphones)
    Port Type: Audio Port
    Handle 0x0810, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: LINE-IN
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Mini Jack (headphones)
    Port Type: Audio Port
    Handle 0x0811, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: HP-OUT
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: Mini Jack (headphones)
    Port Type: Audio Port
    Handle 0x0812, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: MONITOR
    Internal Connector Type: None
    External Reference Designator: Not Specified
    External Connector Type: DB-15 female
    Port Type: Video Port
    Handle 0x090A, DMI type 9, 13 bytes
    System Slot Information
    Designation: SLOT1
    Type: x1 Proprietary
    Current Usage: In Use
    Length: Long
    Characteristics:
    PME signal is supported
    Handle 0x0901, DMI type 126, 13 bytes
    Inactive
    Handle 0x0902, DMI type 9, 13 bytes
    System Slot Information
    Designation: SLOT2
    Type: 32-bit PCI
    Current Usage: Available
    Length: Long
    ID: 2
    Characteristics:
    5.0 V is provided
    3.3 V is provided
    PME signal is supported
    Handle 0x0903, DMI type 126, 13 bytes
    Inactive
    Handle 0x0904, DMI type 126, 13 bytes
    Inactive
    Handle 0x0905, DMI type 126, 13 bytes
    Inactive
    Handle 0x0906, DMI type 126, 13 bytes
    Inactive
    Handle 0x0907, DMI type 126, 13 bytes
    Inactive
    Handle 0x0908, DMI type 126, 13 bytes
    Inactive
    Handle 0x0A00, DMI type 10, 6 bytes
    On Board Device Information
    Type: Video
    Status: Disabled
    Description: Intel Graphics Media Accelerator 950
    Handle 0x0A02, DMI type 10, 6 bytes
    On Board Device Information
    Type: Ethernet
    Status: Enabled
    Description: Intel Gigabit Ethernet Controller
    Handle 0x0A03, DMI type 10, 6 bytes
    On Board Device Information
    Type: Sound
    Status: Enabled
    Description: Intel(R) High Definition Audio Controller
    Handle 0x0B00, DMI type 11, 5 bytes
    OEM Strings
    String 1: www.dell.com
    Handle 0x0D00, DMI type 13, 22 bytes
    BIOS Language Information
    Language Description Format: Long
    Installable Languages: 1
    en|US|iso8859-1
    Currently Installed Language: en|US|iso8859-1
    Handle 0x0F00, DMI type 15, 29 bytes
    System Event Log
    Area Length: 2049 bytes
    Header Start Offset: 0x0000
    Header Length: 16 bytes
    Data Start Offset: 0x0010
    Access Method: Memory-mapped physical 32-bit address
    Access Address: 0xFFF01000
    Status: Valid, Not Full
    Change Token: 0x00000018
    Header Format: Type 1
    Supported Log Type Descriptors: 3
    Descriptor 1: POST error
    Data Format 1: POST results bitmap
    Descriptor 2: System limit exceeded
    Data Format 2: System management
    Descriptor 3: Log area reset/cleared
    Data Format 3: None
    Handle 0x1000, DMI type 16, 15 bytes
    Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: None
    Maximum Capacity: 8 GB
    Error Information Handle: Not Provided
    Number Of Devices: 4
    Handle 0x1100, DMI type 17, 27 bytes
    Memory Device
    Array Handle: 0x1000
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM_1
    Bank Locator: Not Specified
    Type: DDR2
    Type Detail: Synchronous
    Speed: 667 MHz
    Manufacturer: AD00000000000000
    Handle 0x1101, DMI type 17, 27 bytes
    Memory Device
    Array Handle: 0x1000
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM_3
    Bank Locator: Not Specified
    Type: DDR2
    Type Detail: Synchronous
    Speed: 667 MHz
    Handle 0x1102, DMI type 17, 27 bytes
    Memory Device
    Array Handle: 0x1000
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM_2
    Bank Locator: Not Specified
    Type: DDR2
    Type Detail: Synchronous
    Speed: 667 MHz
    Handle 0x1103, DMI type 17, 27 bytes
    Memory Device
    Array Handle: 0x1000
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM_4
    Bank Locator: Not Specified
    Type: DDR2
    Type Detail: Synchronous
    Speed: 667 MHz
    Handle 0x1300, DMI type 19, 15 bytes
    Memory Array Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x000FDFFFFFF
    Range Size: 4064 MB
    Physical Array Handle: 0x1000
    Partition Width: 1
    Handle 0x1400, DMI type 20, 19 bytes
    Memory Device Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x0007FFFFFFF
    Range Size: 2 GB
    Physical Device Handle: 0x1100
    Memory Array Mapped Address Handle: 0x1300
    Partition Row Position: 1
    Interleave Position: 1
    Interleaved Data Depth: 1
    Handle 0x1401, DMI type 20, 19 bytes
    Memory Device Mapped Address
    Starting Address: 0x00080000000
    Ending Address: 0x000FDFFFFFF
    Range Size: 2016 MB
    Physical Device Handle: 0x1101
    Memory Array Mapped Address Handle: 0x1300
    Partition Row Position: 1
    Interleave Position: 1
    Interleaved Data Depth: 1
    Handle 0x1402, DMI type 20, 19 bytes
    Memory Device Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x0007FFFFFFF
    Range Size: 2 GB
    Physical Device Handle: 0x1102
    Memory Array Mapped Address Handle: 0x1300
    Partition Row Position: 1
    Interleave Position: 2
    Interleaved Data Depth: 1
    Handle 0x1403, DMI type 20, 19 bytes
    Memory Device Mapped Address
    Starting Address: 0x00080000000
    Ending Address: 0x000FDFFFFFF
    Range Size: 2016 MB
    Physical Device Handle: 0x1103
    Memory Array Mapped Address Handle: 0x1300
    Partition Row Position: 1
    Interleave Position: 2
    Interleaved Data Depth: 1
    Handle 0x1410, DMI type 126, 19 bytes
    Inactive
    Handle 0x1800, DMI type 24, 5 bytes
    Hardware Security
    Power-On Password Status: Enabled
    Keyboard Password Status: Not Implemented
    Administrator Password Status: Enabled
    Front Panel Reset Status: Not Implemented
    Handle 0x1900, DMI type 25, 9 bytes
    System Power Controls
    Next Scheduled Power-on: *-* 00:00:00
    Handle 0x1B10, DMI type 27, 12 bytes
    Cooling Device
    Type: Fan
    Status: OK
    OEM-specific Information: 0x0000DD00
    Handle 0x1B11, DMI type 27, 12 bytes
    Cooling Device
    Type: Fan
    Status: OK
    OEM-specific Information: 0x0000DD01
    Handle 0x1B12, DMI type 126, 12 bytes
    Inactive
    Handle 0x1B13, DMI type 126, 12 bytes
    Inactive
    Handle 0x1B14, DMI type 126, 12 bytes
    Inactive
    Handle 0x2000, DMI type 32, 11 bytes
    System Boot Information
    Status: No errors detected
    Handle 0x8100, DMI type 129, 8 bytes
    OEM-specific Type
    Header and Data:
    81 08 00 81 01 01 02 01
    Strings:
    Intel_ASF
    Intel_ASF_001
    Handle 0x8200, DMI type 130, 20 bytes
    OEM-specific Type
    Header and Data:
    82 14 00 82 24 41 4D 54 01 01 00 00 01 A5 0B 02
    00 00 00 00
    Handle 0x8300, DMI type 131, 64 bytes
    OEM-specific Type
    Header and Data:
    83 40 00 83 14 00 00 00 00 00 C0 29 05 00 00 00
    F8 00 4E 24 00 00 00 00 0D 00 00 00 02 00 03 00
    19 04 14 00 01 00 01 02 C8 00 BD 10 00 00 00 00
    00 00 00 00 FF 00 00 00 00 00 00 00 00 00 00 00
    Handle 0x8800, DMI type 136, 6 bytes
    OEM-specific Type
    Header and Data:
    88 06 00 88 5A 5A
    Handle 0xD000, DMI type 208, 10 bytes
    OEM-specific Type
    Header and Data:
    D0 0A 00 D0 01 03 FE 00 11 02
    Handle 0xD100, DMI type 209, 12 bytes
    OEM-specific Type
    Header and Data:
    D1 0C 00 D1 78 03 07 03 04 0F 80 05
    Handle 0xD200, DMI type 210, 12 bytes
    OEM-specific Type
    Header and Data:
    D2 0C 00 D2 F8 03 04 03 06 80 04 05
    Handle 0xD201, DMI type 126, 12 bytes
    Inactive
    Handle 0xD400, DMI type 212, 242 bytes
    OEM-specific Type
    Header and Data:
    D4 F2 00 D4 70 00 71 00 00 10 2D 2E 42 00 11 FE
    01 43 00 11 FE 00 0F 00 25 FC 00 10 00 25 FC 01
    11 00 25 FC 02 12 00 25 FC 03 00 00 25 F3 00 00
    00 25 F3 04 00 00 25 F3 08 00 00 25 F3 0C 07 00
    23 8F 00 08 00 23 F3 00 09 00 23 F3 04 0A 00 23
    F3 08 0B 00 23 8F 10 0C 00 23 8F 20 0E 00 23 8F
    30 0D 00 23 8C 40 A6 00 23 8C 41 A7 00 23 8C 42
    05 01 22 FD 02 06 01 22 FD 00 8C 00 22 FE 00 8D
    00 22 FE 01 9B 00 25 3F 40 9C 00 25 3F 00 09 01
    25 3F 80 A1 00 26 F3 00 A2 00 26 F3 08 A3 00 26
    F3 04 9F 00 26 FD 02 A0 00 26 FD 00 9D 00 11 FB
    04 9E 00 11 FB 00 54 01 23 7F 00 55 01 23 7F 80
    5C 00 78 BF 40 5D 00 78 BF 00 04 80 78 F5 0A 01
    A0 78 F5 00 93 00 7B 7F 80 94 00 7B 7F 00 8A 00
    37 DF 20 8B 00 37 DF 00 03 C0 67 00 05 FF FF 00
    00 00
    Handle 0xD401, DMI type 212, 172 bytes
    OEM-specific Type
    Header and Data:
    D4 AC 01 D4 70 00 71 00 03 40 59 6D 2D 00 59 FC
    02 2E 00 59 FC 00 6E 00 59 FC 01 E0 01 59 FC 03
    28 00 59 3F 00 29 00 59 3F 40 2A 00 59 3F 80 2B
    00 5A 00 00 2C 00 5B 00 00 55 00 59 F3 00 6D 00
    59 F3 04 8E 00 59 F3 08 8F 00 59 F3 00 00 00 55
    FB 04 00 00 55 FB 00 23 00 55 7F 00 22 00 55 7F
    80 F5 00 58 BF 40 F6 00 58 BF 00 EB 00 55 FE 00
    EA 00 55 FE 01 40 01 54 EF 00 41 01 54 EF 10 ED
    00 54 F7 00 F0 00 54 F7 08 4A 01 53 DF 00 4B 01
    53 DF 20 4C 01 53 7F 00 4D 01 53 7F 80 68 01 56
    BF 00 69 01 56 BF 40 FF FF 00 00 00
    Handle 0xD402, DMI type 212, 152 bytes
    OEM-specific Type
    Header and Data:
    D4 98 02 D4 70 00 71 00 00 10 2D 2E 2D 01 21 FE
    01 2E 01 21 FE 00 97 00 22 FB 00 98 00 22 FB 04
    90 00 11 CF 00 91 00 11 CF 20 92 00 11 CF 10 E2
    00 27 7F 00 E3 00 27 7F 80 E4 00 27 BF 00 E5 00
    27 BF 40 D1 00 22 7F 80 D2 00 22 7F 00 45 01 22
    BF 40 44 01 22 BF 00 36 01 21 F1 06 37 01 21 F1
    02 38 01 21 F1 00 39 01 21 F1 04 2B 01 11 7F 80
    2C 01 11 7F 00 4E 01 65 CF 00 4F 01 65 CF 10 D4
    01 65 F3 00 D5 01 65 F3 04 D2 01 65 FC 00 D3 01
    65 FC 01 FF FF 00 00 00
    Handle 0xD403, DMI type 212, 157 bytes
    OEM-specific Type
    Header and Data:
    D4 9D 03 D4 70 00 71 00 03 40 59 6D 17 01 52 FE
    00 18 01 52 FE 01 19 01 52 FB 00 1A 01 52 FB 04
    1B 01 52 FD 00 1C 01 52 FD 02 1D 01 52 F7 00 1E
    01 52 F7 08 1F 01 52 EF 00 20 01 52 EF 10 21 01
    52 BF 00 22 01 52 BF 40 87 00 59 DF 20 88 00 59
    DF 00 E8 01 66 FD 00 E9 01 66 FD 02 02 02 53 BF
    00 03 02 53 BF 40 04 02 53 EF 00 05 02 53 EF 10
    06 02 66 DF 00 07 02 66 DF 20 08 02 66 EF 00 09
    02 66 EF 10 17 02 66 F7 00 18 02 66 F7 08 44 02
    52 BF 40 45 02 52 BF 00 FF FF 00 00 00
    Handle 0xD800, DMI type 126, 9 bytes
    Inactive
    Handle 0xDD00, DMI type 221, 19 bytes
    OEM-specific Type
    Header and Data:
    DD 13 00 DD 00 01 00 00 00 10 F5 00 00 00 00 00
    00 00 00
    Handle 0xDD01, DMI type 221, 19 bytes
    OEM-specific Type
    Header and Data:
    DD 13 01 DD 00 01 00 00 00 11 F5 00 00 00 00 00
    00 00 00
    Handle 0xDD02, DMI type 221, 19 bytes
    OEM-specific Type
    Header and Data:
    DD 13 02 DD 00 01 00 00 00 12 F5 00 00 00 00 00
    00 00 00
    Handle 0xDE00, DMI type 222, 16 bytes
    OEM-specific Type
    Header and Data:
    DE 10 00 DE C1 0B 00 00 10 05 19 21 01 00 00 01
    Handle 0x7F00, DMI type 127, 4 bytes
    End Of Table
    Hdparm also does not tell me the max data transfer rate (disk speed) of my current drive although this link : www.wdc.com/en/library/sata/2879-001146.pdf  says that it is 3.0Gb/s
    and here's hdparm -I /dev/sda
    /dev/sda:
    ATA device, with non-removable media
    Model Number: WDC WD800JD-75JNC0
    Firmware Revision: 06.01C06
    Standards:
    Supported: 6 5 4
    Likely used: 8
    Configuration:
    Logical max current
    cylinders 16383 16383
    heads 16 16
    sectors/track 63 63
    CHS current addressable sectors: 16514064
    LBA user addressable sectors: 156250000
    Logical/Physical Sector size: 512 bytes
    device size with M = 1024*1024: 76293 MBytes
    device size with M = 1000*1000: 80000 MBytes (80 GB)
    cache/buffer size = 8192 KBytes
    Capabilities:
    LBA, IORDY(can be disabled)
    Standby timer values: spec'd by Standard, with device specific minimum
    R/W multiple sector transfer: Max = 16 Current = 8
    Recommended acoustic management value: 128, current value: 254
    DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
    Cycle time: min=120ns recommended=120ns
    PIO: pio0 pio1 pio2 pio3 pio4
    Cycle time: no flow control=120ns IORDY flow control=120ns
    Commands/features:
    Enabled Supported:
    * SMART feature set
    Security Mode feature set
    * Power Management feature set
    * Write cache
    * Look-ahead
    * Host Protected Area feature set
    * WRITE_BUFFER command
    * READ_BUFFER command
    * DOWNLOAD_MICROCODE
    SET_MAX security extension
    Automatic Acoustic Management feature set
    * Device Configuration Overlay feature set
    * Mandatory FLUSH_CACHE
    * SMART error logging
    * SMART self-test
    * Gen1 signaling speed (1.5Gb/s)
    * Host-initiated interface power management
    * SMART Command Transport (SCT) feature set
    * SCT Long Sector Access (AC1)
    * SCT LBA Segment Access (AC2)
    * SCT Error Recovery Control (AC3)
    * SCT Features Control (AC4)
    * SCT Data Tables (AC5)
    Security:
    Master password revision code = 65534
    supported
    not enabled
    not locked
    frozen
    not expired: security count
    not supported: enhanced erase
    Checksum: correct
    Last edited by Inxsible (2011-03-27 04:40:49)

    I just checked my BIOS and my current setting is set at IDE although it also mentions that the default should be AHCI. Currently I have a dual boot of Windows 7 (need it for Tax software) and Arch
    So I guess, when I get the new HDD, I will first set it to AHCI and then install the OSes on it. See if NCQ helps any, and if not I will turn it back and re-install (if I have to). I am planning to have Windows only in virtualbox in the new drive.
    Anyhoo, while I was in the BIOS I found two things which I had questions about :
    1) Under Onboard Devices --> Integrated NIC , my setting is currently set at "On w/PXE" and it says the default should be just "On". Would it be ok to change it back to On since its a single machine and its not booting an OS on any server. I just don't want to have to re-install anything now since I will be doing that in the new HDD.
    2) How would I know whether my BIOS would support a 64 bit OS in Virtualbox? I checked some setting under Virtualization, but they weren't very clear.
    I will edit this post and let you know exactly what settings were present under the Virtualization sub-section.

  • How to load spatial data from .shp file

    Could anyone suggest an easy to use, free tool to upload spatial data from .shp file (or/and other open source spatial file sources) into an Oracle Locator database?
    We have licensing for ArcGIS10, but nobody (including ArcGIS) have been able to successfully create a direct connection from their software to our Oracle 10.2 database.
    Client desktops here are Windows 7 64bit, which further complicates matters (tend to find neither ArcGIS nor Oracle support 64bit OS in a cogent fashion)

    790951,
    . . . .You can also try Oracle's ShapeFile Converter (shp2sdo). It's a command line utility so there's automation potential.
    . . . .Note that ESRI's tools may (depending on how they're used) store spatial content in Oracle Spatial as BLOBs containing their ST_GEOMETRY data-type (rather than Oracle's SDO_GEOMETRY type).
    Regards,
    Noel

  • Error while inserting spatial data

    Hi All,
    I have a problem while inserting spatial data. could some one please help me in solving this.
    I have creatd a table with spatial index.
    INSERT INTO USER_SDO_GEOM_METADATA
                VALUES('SDO_CA_test', 'CA', SDO_DIM_ARRAY(
                    MDSYS.SDO_DIM_ELEMENT ('LON', 71.19545, 120.35101, 0.000005),
                    MDSYS.SDO_DIM_ELEMENT ('LAT', 12.1145, 26.58041, 0.000005)), 8687);
         CREATE INDEX IO_CA_test ON SDO_CAR_test(CA)
        INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS ('SDO_COMMIT_INTERVAL=10000 SDO_RTR_PCTFREE = 0');when I insert data from another spatail table that does not have a index I get an error.
    insert into sdo_ca_test as select * from base_sdo;
    ORA-29875 Failed in the ececution of the ODCINDEXINSERT routine
    ORA-13354 incorrect offset in ELEM_INFO_ARRAY
    ORA_06512 at MDSYS.SDO_INDEX_METHOD_101 line. 709I believe that there is some incorrect data that is not with my index defination.
    How do I check this invalid data at base_sdo table. The base_sdo table has no index.
    rgds
    Saz
    Edited by: Saaz Ena on Dec 21, 2009 6:16 PM

    Can you try SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT
    or SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT? e.g.
    select * from base_sdo a where
    SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(a.CA, 0.000005) != 'TRUE';

  • Raw Read Error Rate, Errors occurred while reading raw data from a disk

    hi
    when I turn my pavilion dv6 2170ee computer on screen shows below error.
    system diognostics (F2) does not any work
    and when my windows7 comming up this error was shown.
    I install Hard Disk Sentinel software and this program shows below:
    Failure Predicted - Attribute: 1 Raw Read Error Rate, Errors occurred while reading raw data from a disk. Indicate problem with the disk surface or the read/write heads.
    There are 28 weak sectors found on the disk surface. They may be remapped any time in the later use of the disk.
    26848 errors occured during data transfer. This may indicate problem of the device or with data/power cables. It is recommended to examine and replace the cables if possible.
    Replace hard disk immediately.
    how can I fix it?
    may drive format (Fdisk) and renewing windows can fix it?
    tanx and regards
    Mohammad

    Hello mohkhosh,
    I see that you're getting an error indicating possible hard driver failure, that you have this message from 3 different sources. I will try to help you with this.
    After reviewing everything  you're looking at needing to replace the hard drive. I would suggest contacting support to see what they can do for you.
    HP Technical Support, North America 1-800-474-6836. For all other regions click here.
    Thank you for posting on the HP Forums.
    I worked on behalf of HP.

  • Retrieving spatial and non spatial data in one query

    Hello. I am having slight difficulties using JDBC to retrieve both spatial and non spatial data in the same query. The following is code from a sample program of mine that retrives spatial data from spatial tables.
    (In spatialquery geom is a geometry column and city is simply the name of the city):
    try
    Geometry geom = null;
    String database = "jdbc:oracle:thin:@" + m_host + ":" + m_port + ":" + m_sid;
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    con = (OracleConnection)DriverManager.getConnection(database, sUsername, sPassword);
    GeometryAdapter sdoAdapter =
    OraSpatialManager.getGeometryAdapter("SDO", "8.1.7", STRUCT.class, null, null, con);
    String spatialquery = "SELECT a1.geom, a1.city \n" +
    "FROM cities a1";
    Statement stmt = con.createStatement();
    OracleResultSet rs = (OracleResultSet) stmt.executeQuery(spatialquery);
    int i = 0;
    int noOfFeatures = 2;
    while (rs.next())
    for(i = 1; i <= noOfFeatures; i++)
    STRUCT dbObject = (STRUCT)rs.getObject(i);
    try
    geom = sdoAdapter.importGeometry(dbObject);
    catch(GeometryInputTypeNotSupportedException e)
    System.out.println("Input Type not supported");
    catch(InvalidGeometryException e)
    System.out.println("Invalid geometry");
    System.out.println(geom);
    }//end while loop
    This retrieves the sptial data fine, however when I attempt to retreive the non-spatial data I keep getting a "ClassCastException" error. I understand it is something to do with "STRUCT dbObject = (STRUCT)rs.getObject(i);" line. Can anyone tell me how to retrieve both spatial and non-spatial data in the one query using JDBC. I have tried nearly everything at this stage. Cheers joe

    Theresa A Radke
    Posts: 20
    OTN Member Since: Jul, 2001
    retrieving spatial and non spatial in same query. May 23, 2003 12:02 AM
    retrieving spatial and non spatial in same query.

  • Best Practice for Storing Spatial Data in Multiple Projections?

    From what I've been able to determine MS SQL can't do reprojections is that correct? Assuming it is, the state of Washington requires that our GIS data be managed in Washington Stat Plane South
    but for our web mapping sites need the data in Web Mercator.  Is it OK then to have two geometry columns in a spatial enabled table, say a county table, one in WSPS and the other in WM? 
    I’m coming at this from a 30 year background in GIS using ESRI software. 
    Usually we would store the shape / geometry in one projection and project it to other on the fly when needed. 
    That way there is only one definitive source.  I don’t see a way to do this in MS SQL.

    Hi Scott.
    Storing two columns of spatial data is fine in SQL Server. And you are correct that there is no built-in reprojection in SQL Server, most folks do that as part of data loading. There was talk of porting parts of ogr2ogr to SQLCLR, but I don't think anyone
    did that.
    Cheers, Bob

  • Remove or free data from the disk space

    Hi All,
    How to remove or free data from the disk space. Considering most of the data  in the directories are junk.
    Is there any T-code from the appliaction layer or we have to do at operating system or database level.
    Regards,
    Jitender

    Hi,
    As far as i know we canot delete data from data files.But i think u can shrink the file.
    But not suggestable.You can delete the juck or old data in the usr/trans/log/files.
    Also delete the files in usr/sap/trans/eps/in.
    Regards,
    Vamshi.

  • Labview How to specify 1d array of clusters as data types for variant to data

    Hi, I'm new to labview. Can anyone tell me how to specify 1d array of clusters as data types for variant to data?

    First of all, you should be sure that there is such a data type within the variant; otherwise, you will run into errors.
    I recommend you to create the cluster and create a type definition from it. Then drop an array shell from the array palette and drop the cluster type into that array.
    Connect that constant to the data type input of the Variant To Data function.
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Clusters as data structures

    I am looking for the best and simplest way to create and manage data structures in Labview.
    Most often I use clusters as data structures, however the thing I don't like about this approach is that when I pass the cluster to a subroutine, the subroutine needs a local copy of the cluster.
    If I change the cluster later (say I add a new data member), then I need to go through all the subroutines with local copies of the cluster and make the edit of the new member (delete/save/relink to sub-vi, etc).
    On a few occasions in the past, I've tried NI GOOP, but I find the extra overhead associated with this approach cumbersome, I don't want to have to write 'get' and 'set' methods for every integer and string, I like being able to access the cluster/object data via the "unbundle by name" feature.
    Is there a simple or clever way of having a single global reference to a data object (say a cluster) that is shared by a group of subroutines and which can then be used as a template as an input or output parameter? I might guess the answer is no because Labview is interpreted and so the data object has to be passed as a handle, which I guess is how GOOP works, and I have the choice of putting in the extra energy up front (using GOOP) or later (using clusters if I have to edit the data structure). Would it be advisable to just use a data cluster as a global variable?
    I'm curious how other programmers handle this. Is GOOP pretty widely used? Is it the best approach for creating maintainable LV software ?
    Alex

    Alex,
    Encapsulation of data is critical to maintaining a large program. You need global, but restricted, access to your data structures. You need a method that guarantees serial, atomic access so that your exposure to race conditions is minimimized. Since LabVIEW is inherently multi-threaded, it is very easy to shoot yourself in the foot. I can feel your pain when you mention writing all those get and set VIs. However, I can tell you that it is far less painful than trying to debug a race condition. Making a LabVIEW object also forces you to think through your program structure ahead of time - not something we LabVIEW programmers are accustomed to doing, but very necessary for large program success. I have use three methods of data encapsulation.
    NI GOOP - You can get NI GOOP from the tutorial Graphical Object Oriented Programming (GOOP). It uses a code interface node to store the strict typedef data cluster. The wizard eases maintenance. Unfortunately, the code interface node forces you through the UI thread any time you access data, which dramatically slows performance (about an order of magnitude worse than the next couple of methods).
    Functional Globals - These are also called LV2 style globals or shift register globals. The zip file attached includes an NI-Week presentation on the basics of how to use this approach with an amusing example. The commercial Endevo GOOP toolkit now uses this method instead of the code interface node method.
    Single-Element Queues - The data is stored in a single element queue. You create the database by creating the queue and stuffing it with your data. A get function is implemented by popping the data from the queue, doing an unbundle by name, then pushing the data back into the queue. A set is done by popping the data from the queue, doing a bundle by name, then pushing the data back into the queue. You destroy the data by destroying the queue with a force destroy. By always pulling the element from the queue before doing any operation, you force any other caller to wait for the queue to have an element before executing. This serializes access to your database. I have just started using this approach and do not have a good example or lots of experience with it, but can post more info if you need it. Let me know.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Acquiring Oracle Spatial Data through WFS

    Hi,
    I have been researching for awhile and am slightly confused.
    I have Oracle Spatial 11g with geometry data and would like to be able to retrieve that data through a WFS to serve to a viewing application.
    Here's where I am confused:
    1) Spatial has a WFS service which needs to be configured. If I were configure that, would I be able to access the data through URL getFeature commands? The documentation I see for them has the getFeature requests in the form of XML files so I am not sure if I can do that. Also it seems like the service is returning .log files but I think I would want GML...
    If this is the option I should take, the tutorial to setup OC4J and the Web Services are for a Linux machine (http://www.oracle.com/technology/obe/11gr1_db/datamgmt/spatialws/spatialws.htm) -- Is there one for Windows 64bit?
    2) Do I need another "application layer" to enable this URL support? I know MapServer can use URL requests.. can I just run this against the data in my DB and forget about the Oracle WFS?
    3) MapViewer seems to work with WFS Themes and handle requests through Java and SQL.. is this another option?
    I am basically confused as to where everything sits and what I should be focusing on to get my Spatial data out of the DB through a WFS. Any assistance on this matter would be greatly appreciated!
    Thanks!

    Any help debugging this issue would be greatly appreciated:
    As per the documentation:
    http://localhost:8888/SpatialWS-SpatialWS-context-root/wfsservlet?request=GetCapabilities&service=wfs&version=1.0.0
    :this get request should return the capabilities info however I receive this error message instead in the browser:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ogc:ServiceExceptionReport version="1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ogc http://localhost:8888/examples/servlets/xsds/OGC-exception.xsd" xmlns:ogc="http://www.opengis.net/ogc">
    <ogc:ServiceException code="WFS-1042">Exception during processing request</ogc:ServiceException>
    </ogc:ServiceExceptionReport>
    The sytem out from the oc4j container provides this error message:
    10/04/27 15:47:38 [oracle.spatial.ws.WSProperties, Tue Apr 27 15:47:38 MDT 2010,
    INFO] No subject specified in request.
    10/04/27 15:47:38 [oracle.spatial.ws.WSProperties, Tue Apr 27 15:47:38 MDT 2010,
    ERROR] Oracle Spatial WS Server could not set up configuration parameters: jav
    a.lang.RuntimeException: No subject specified in request.
    10/04/27 15:47:38 [oracle.spatial.ws.servlet.WFSServlet, Tue Apr 27 15:47:38 MDT
    2010, FATAL] java.lang.RuntimeException: java.lang.RuntimeException: No subject
    specified in request.
    at oracle.spatial.ws.WSProperties.getProperties(WSProperties.java:705)
    at oracle.spatial.ws.servlet.WFSServlet.doGet(WFSServlet.java:108)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReque
    stDispatcher.java:734)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Ser
    vletRequestDispatcher.java:391)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequ
    estHandler.java:908)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpReques
    tHandler.java:458)
    at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpReque
    stHandler.java:226)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:127)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:116)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSo
    cketReadHandler.java:260)
    at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(Server
    SocketAcceptHandler.java:234)
    at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocket
    AcceptHandler.java:29)
    at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(
    ServerSocketAcceptHandler.java:879)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
    sableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.RuntimeException: No subject specified in request.
    at oracle.spatial.ws.WSProperties.getUser(WSProperties.java:574)
    at oracle.spatial.ws.WSProperties.getProperties(WSProperties.java:695)
    ... 16 more

  • DISPLAY SPATIAL DATA USING JDBC ON A JAVA FRAME

    I am trying to set up some spatial data and need help in getting some sample
    code for displaying the data on a Java Frame using JDBC.
    The shapes I am setting up are simple polygons, lines, circles. I was going
    through the samples in the demo directory under $ORACLE_HOME/md/demo/examples, but could not find any JDBC
    I would really appreciate if you can point me towards some sample code and any other spatial resources.
    Madhukar

    Here you go. It uses JDBC to fetch geoms, convert them into Java JGeometry objects, which then create Java2D shapes (these are functions of the public sdoapi.jar library). It then uses some class in the sdovis.jar library (the rendering engine of MapViewer) to setup the necessary viewport transform. If you know how to setup the viewport transform, then you dont even need sdovis. sdovis.jar is found in an deployed MapViewer's WEB-INF/lib directory. Or you can extract it from the mapviewer.ear's web.war file.
    import java.awt.*;
    import java.awt.geom.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.sql.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import java.util.*;
    import oracle.jdbc.OracleDriver;
    import oracle.sdovis.*;
    import oracle.sdovis.style.*;
    import oracle.sdovis.util.*;
    import oracle.spatial.geometry.JGeometry;
    import oracle.sql.STRUCT;
    * A very simple program that shows stuff from db in a JFrame
    * <p>
    public class tilsvgui2 extends JFrame
      final static int mapWidth  = 640;
      final static int mapHeight = 480;
      static JSDOGeometry geom = null;
      public tilsvgui2()
        setSize(mapWidth+40, mapHeight+40);
                    setVisible(true);
        this.addWindowListener(new java.awt.event.WindowAdapter() {
          public void windowClosing(WindowEvent e) { System.exit(0); }
            public void paint(Graphics g)
                    super.paint(g);
        int w = this.getWidth(), h = this.getHeight();
        Insets inset = this.getInsets();
        double[] mbr = geom.getMBR();
        //from sdovis; it will setup the viewport transform
        XFViewPort xfp = new XFViewPort();
        xfp.setDeviceView(inset.left, inset.top, w-inset.left-inset.right-1, h-inset.top-inset.bottom-1);
        xfp.setDataView(mbr[0], mbr[1], mbr[2], mbr[3]);
        AffineTransform af = xfp.getAffineTransform();    //get the viewport transform
        Shape shp = geom.createShape(af);    //create a proper shape that fits the viewport
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(Color.red);
        g2.drawRect(inset.left, inset.top, w-inset.left-inset.right-1, h-inset.top-inset.bottom-1);
        //draw the shape itself
        g2.setColor(Color.blue);
        g2.draw(shp);
      public static void getStuff() throws Exception
        System.out.println("Loading geometry...");
        Connection conn = getConnection("mapsrus.us.oracle.com", "1521", "orcl", "scott", "tiger");
        Statement  stmt = conn.createStatement();
        ResultSet  rset = stmt.executeQuery("select geom, totpop from counties where county='Merrimack' and state_abrv='NH'");
        while(rset.next())
          STRUCT st = (STRUCT) rset.getObject(1);
          geom = JSDOGeometry.loadFromDB(st);
          int population = rset.getInt(2);
          break; //displaying only the first geometry
        rset.close();
        stmt.close();
        conn.close();
      private static Connection getConnection(String host,
                                              String port,
                                              String sid,
                                              String username,
                                              String password)
        throws SQLException
        String thinConn = "jdbc:oracle:thin:@"+host+":"+port+":"+sid;
        Driver d = new OracleDriver();
        Connection conn = DriverManager.getConnection(thinConn,username,password);
        conn.setAutoCommit(false);
        return conn;
      public static void main(String[] args)
        try{
          getStuff();
        }catch(Exception e)
          e.printStackTrace(System.err);
        new tilsvgui2();
    }

  • Conversion of .dgn file to .shp files for spatial data processing

    Hi All,
    Presently I am working oracle spatial database (10gR2). I have following task:
    Task: Spatial data loading into oracle database 10g Release 2:
    Task process description: Client has given the input file as with .dgn extension. So we have to convert that to .shp file and load to spatial database.
    There is utility in OTN site for loading data .shp file data into spatial database. This we can able to do.
    Now I am looking for how to convert the .dgn file to .shp file? I mean, if there is any tool for it or any commands to do this in specific environment.
    Any help would appreciate.
    Thanks,
    [email protected]

    Hi,
    There are several ways to do this.
    Get a general GIS format translator. I use FME. This can be obtained from SAFE at safe.com. There is a free 30 day evaluation.
    Get GIS software which has a data translation facility. Take your pick of the systems.
    Write some code to read the DGN into Oracle. The DGN format can be found at http://www.bentley.com/en-US/Products/MicroStation/OpenDGN/. You need to know the version of DGN.
    Ask your client to supply data in SHP format.
    Ivan

  • Re:LOB, Spatial data

    Hi all,
    can any one tell me that does goldengate support LOB and spatial data? if so do we have to add any parameters to the parameter file in the goldengate?
    thanks in advance..

    Hi
    I hoppe this help you:
    ----- Supported data types Classic Capture
    **Basicfile LOB columns
    LOB modifications done via
    DML
    (INSERT/UPDATE/DELETE)
    are captured from redo.
    ◆ LOB modifications done via
    DBMS_LOB package are
    captured by fetching values
    from the base table.
    *** Securefile LOB
    ◆ Securefile LOBs are only
    captured from redo if LOBs are
    not transformed (such as not
    compressed or encrypted) and
    stored out of row, and if the
    modification is done via DML
    statements.
    ◆ LOBs are fetched from the
    base table for the following
    cases:
    ◆ LOB is encrypted
    ◆ LOB is compressed
    ◆ LOB is stored in-line
    ◆ LOB is modified via
    DBMS_LOB package
    ◆ LOB is deduplicated
    ◆ LOB is modified via
    fragment operations
    ◆ NOLOGGING LOBs
    Check the Oracle Installation and Setup Guide for obtain more detail
    Edited by: user11237143 on 23/05/2012 10:57 AM

Maybe you are looking for

  • Is there a way to create QR codes through Enhanced Datamerge in color rather than black?

    Trying to find a way to create QR codes through the data merge feature in a color other than black. The only way I know to attempt it is to try to give the placeholder a color attribute, but no matter what I try the QR codes generated come in as blac

  • E-Recruitment (300) WF in ECC5.0 (640)

    G'day all, Can anyone provide advice around the set up required to get the standard WFs for Processing an E-Rec Requisition working (WS51800008)? My E-Rec consultant believes they have set up everything necessary. The basis boys believe they have mai

  • Itunes installer won't run in Windows 7

    I am trying to install the latest version of itunes on my new laptop and the installer won't run.  It is a samsung sereis 7 notebook running Windows 7. I have downloaded itunes multiple times and tried running as administrator.  I do not get any erro

  • 2 Jars with same class name. NoSuchMethod. Can't change classpath

    I have overloaded a method in a class that came with an openSource package. Things were fine until I implemented my components in a new version of the Server application; when I discovered that the it uses the same openSource package bundled in its c

  • Batch at semi finish level or bulk material

    My client is manufacturing toothpaste, the scenario is, they have 5 products with multiple change overs they manufacture different batches of tooth paste than store them in a storage tank. the batch management could be difficult as the are not storin