Mapviewer, parallel lines and custom rendering

I have been scratching my head a bit on this:
We have some databases which contains various types of water/sewer-pipes. These lines (pipes) has an attribute connected to them, which describes displacement and ranges from -3 to 3 (where a "normal" centered lines is 0).
Since we are very interested in the mapviewer WMS-feature, and want to render the map just the way we do in our apps, I am wondering, is there some way I can implement "server-logic" to apply displacement to the lines according to the displacement-attribute ?
Thanks in advance,
Oyvind

Oyvind
You could use a view that references the original geometry (or just store it back in the same table in a different column), offsetting it to one side or the other using the LRS functions.
First, you’ll have to add an LRS value (unless you already have them) using SDO_LRS.CONVERT_TO_LRS_GEOM. Start and End could be 0 and 1.
Then offest that LRS geometry using SDO_LRS.OFFSET_GEOM_SEGMENT.
Then remove the LRS items (unless that doesn’t make any difference in your app):
CREATE OR REPLACE VIEW corrected_pipedata
(geom)
AS
SELECT SDO_LRS.CONVERT_TO_STD_GEOM( SDO_LRS.OFFSET_GEOM_SEGMENT( SDO_LRS.CONVERT_TO_LRS_GEOM(a.in_geom, 0, 1),
0, 1,
a.in_offset))
FROM pipedata a
Example:
SELECT geometry_l from c_path_segment WHERE rownum < 2;SDO_GEOMETRY(3002, 8307, *, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(-80.5460927551392, 28.4766171261354, 0, -80.5460869608106, 28.4766337523028, 0))
SELECT SDO_LRS.CONVERT_TO_STD_GEOM(SDO_LRS.OFFSET_GEOM_SEGMENT( SDO_LRS.CONVERT_TO_LRS_GEOM(a.geometry_l, 0, 1),0, 1,
-1 ,
0.005,
'unit=meter arc_tolerance=0.05'))
FROM c_path_segment a
WHERE rownum < 2;
SDO_GEOMETRY(3002, 8307, *, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(-80.5460833610681, 28.4766140113997, 0, -80.5460829955615, 28.4766144706575, 0, -80.546077201
2316, 28.4766310968245, 0))
SELECT SDO_LRS.CONVERT_TO_STD_GEOM(SDO_LRS.OFFSET_GEOM_SEGMENT( SDO_LRS.CONVERT_TO_LRS_GEOM(a.geometry_l, 0, 1),0, 1,
1 ,
0.005,
'unit=meter arc_tolerance=0.05'))
FROM c_path_segment a
WHERE rownum < 2;
SDO_GEOMETRY(3002, 8307, *, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(-80.5461024997426, 28.4766189245689, 0, -80.5461025147173, 28.4766197816126, 0, -80.546096720
3901, 28.4766364077804, 0, -80.546096182864, 28.4766370831801, 0))

Similar Messages

  • Slide to unlock has parallel lines and will not function

    slide to unlock has parallel lines and will not function

    Hello there, Jennings48.
    The following Knowledge Base article offers up some great steps for troubleshooting issues with touchscreen response and links to additional information as well:
    iPhone, iPad, iPod touch: Troubleshooting touchscreen response
    http://support.apple.com/kb/ts1827
    Thanks for reaching out to Apple Support Communities.
    Cheers,
    Pedro.

  • How to make an editable bulleted list with multiple lines and custom bullets?

    How do I create an editable bulleted list in Acrobat Pro? I've figured out how to add text fields with multiple lines, and how to add a list box, but I don't see the check box for multiple lines in the list box or how to add bullet points. Can someone please give me step by step instructions? Also is it possible to use custom bullet points?

    Is it a text field or a list box field? The two are not the same...
    The bullets are something that the user will have to enter manually (into a text field, they can only select values in a list-box).
    They can use any unicode character, or special characters if the font used for that field allows for it. You can't use images for the bullets, if that's what you mean.

  • ParserExtension and Custom Renderer components

    Hi,
    I am trying to create a custom component of my own which will control access to UINodes based on the contents of the User's HTTPSession object. In the HTTPSession I have a list of Roles that are assigned to the user and based on these roles I would like to turn on/off certain UI nodes. Initially I tried to create a component that was defined like this:
    <sso:ssoassetchecker asset="987654321">
    <contents>
    <messageBox automatic="true"/>
    </contents>
    </sso:ssoassetchecker>However I was having trouble (probably due to me needing to have the contents tag in there but no having child node support in my custom UINode).
    So I decided to look at the ParserExtension mechanism to get a component that looked like this:
    <link text="User List (Super)" destination="UserList-SuperAdmin.uix" sso:assetcheck="sso_super_admin_role"/>This almost worked but I think that the ParserExtension will not operate dynamically for each user. I have some code in the ParserExtension that looks like this:
    public Object elementEnded(ParseContext context, String namespaceURI, String localName, Object parsed, Dictionary attributes)
        logger.debug("::elementEnded - About to parse new attribute type");
        if (parsed instanceof MutableUINode)
          MutableUINode node = (MutableUINode)parsed;
          Object assetId = attributes.get("assetcheck");
          if (assetId != null)
            List roleIdsToCheck = new LinkedList();
            StringTokenizer strTok = new StringTokenizer((String)assetId, ":");
            logger.debug("::elementEnded - Checking whether user has any of the roles : " + assetId + " for node " + node.getNodeID());
            while (strTok.hasMoreTokens())
              roleIdsToCheck.add(strTok.nextToken());
            BajaContext bajaContext = BajaParseContext.getBajaContext(context);
            HttpServletRequest request = bajaContext.getServletRequest();
            UserInfo userInfo = SSOManager.getUserInfo(request);
            boolean roleFound = false;
            if (null != userInfo)
              String username = userInfo.getUsername();
              long userId  = userInfo.getUserId();
              logger.debug("::elementEnded - Getting ROLES for username : " + userInfo);
              Iterator rolesToCheckIterator = roleIdsToCheck.iterator();
              while ( (rolesToCheckIterator.hasNext()) && (!roleFound) )
                String curRoleToCheck = (String)rolesToCheckIterator.next();
                logger.debug("::elementEnded - Checking whether user has current role : " + curRoleToCheck);
                if (userInfo.checkPermissionForRole(curRoleToCheck))
                  roleFound = true;
                  logger.debug("::elementEnded - MATCH User does have current role : " + curRoleToCheck);
              if (!roleFound)
                logger.debug("::elementEnded - No match found for specified roles - HIDING node");
                node.setAttributeValue(UIConstants.RENDERED_ATTR, "false");
                parsed = null;   
        else
          logWarning(context, "Controller extensions not supported on " + parsed + " objects");
        return parsed;
    }I know it is a bit hacky at the moment just turning off the rendered attribute and returning null but I just want to get it going.
    So, after all that the question is this : will this ParserExtension get called each time the page is rendered and correctly get the data from the user's httpsession OR will the session only be looked up the first time the page is rendered?
    Many thanks,
    pj.

    The page should only be parsed once (and when the file is modified). It seems like if you're only trying to turn on and off certain ui nodes you should be able to write a template...

  • Profit Center population in the Vendor and Customer Line items

    hello
    our client is asking for  getting profit center in the vendor and customer line items  where in the view FBL5n and fbl1n we are not getting the profit center populated - in the new gl i understand that there is a standard report based on the gl account.
    but our business is not satisfied with the report and expecting report at profit center level.
    Can any one suggest any way of doing this.
    regards,
    Vijay

    Dear Vijay,
    Let me provide you my view of solutioning for this. This is an enahcement that needs to be done
    1. You can get the profit center from the given vendor and customer line item at the time of posting, using an enahcement you will be able to capture it.
    2. Existing the profit center field is not populated in the BSIK,BSAK,BSID and BSAD tables
    3. Hence, in the same enhancement once you capture the profit center , you can write the code that profit center is updated in these tables also.
    4. This will help you to do the vendor line item wise selection in the FBL1N,  FBL5N profit center wise.
    Constraints of this solution:
    The only constraint remains where in the for a given document if there are multiple profit center, then the system will do the splitting profit center wise for a vendor line item, which will not populate the profit center in those tables as there is only one field available in the bsid etc.. tables.
    This basically would be the one the soltuion where in as seeen from the end user ther eis no change in the front end interface , the way they are doing always they can do.
    You need to also take care the % of document splitting means cross profit center postings /cross document splitting charactericstics postings and the volume involved in this. so that you can suggest this to your client.
    Regards,
    Bharathi.

  • How can i clear the vendor and customer open line items at a time same vendor as a customer of the company (same vendor same customer and equal invoices )

    my vendor and customer are same . purchase invoice due100000 and sales invoice amount is also 100000 at a time with any manual action , have any setting for cleared both vendor and customer line items at a time ...........

    X Ltd. will be Vendor & Customer.
    Purchase Invoice is booked under Vendor SAP number & Sales Invoice is booked under Customer SAP number. Then you can transfer amount from Vendor to Customer or vice versa with T-code F-04.
    Then if you have transferred amount from customer to Vendor (F-04), Vendor account will have two entries Debit & Credit. Then go for clearance with T-code F-44 clear Vendor.

  • Profit centerwise Vendor and Customer line items view

    Deal ALL,
    We have not activated Business Area.
    We have 10 plant under one company code. Client is booking the vendor and customer invoice as per the cost center and profit center of the plant. Payment and Receipt is also made according the bank maintain for each plant. As one customer or vendor is dealing with all the plants.
    Can any body can help me out how to get the vendor and customer line item display according plant or cost or profit center wise, so we can make or receive payment accordingly.
    Request you all to reply.
    Thanks & Regards,
    Bhadresh

    Hi
    Try the transaction codes for Profit Display by suitable config in TCode O7F1, O7F2, O7F3
    Assign Points if useful
    Regards
    Sanil

  • Profit centre needs to be updated in Vendor and Customer line item reports

    We are using ECC 6. 
    Profit centre is updating for vendor and customer line items in document level.  But the same is to be reflected/updated in profit centre field in FBL1N and Reports.

    hi
    Use this T codes you will get Profit center wise  S_AC0_52000888 Paybles (vendor balances )
    Tcode for Profit center wise receviables S_AC0_52000887  (customer balances )
    Regards
    Babu.k

  • FI Open Vendor and Customer Line item

    Dear Experts,
    Do we have to migrate the Tax code in the Vendor and Customer Line Items during data migration?
    I read somewhere that is it not necessary to do so.
    Please advise.
    Thank you.

    Hi ,
         It depends on the legal enviroment and sometimes on the settings used in your system. It is a matter of whether the Tax code information is needed in any circumstance that could arise subsequent to migration.
    Examples where you must migrate the tax codes:-
         i) Deferred VAT is used.
         ii) Prepayments with Gross Display.
        iii) Prompt payment discounts are VAT relevant.
    Kind regards

  • RE: COPA report and customer line item report not matching

    Hi All,
    COPA report and customer line item reports (fd10n) are not matching please let me know the reason.

    ok

  • T.code required for Vendor line item display and Customer line item display

    Hi Gurus,
    Pl provide me transaction code for "Vendor line item display and " Customer line item display apart from FBL1n for vendor and FBL5n for customers.
    Kindly advise.
    Regards,
    Samar

    Hi,
    You could use these, for example:
    S_ALR_87012103 - List of Vendor Line Items
    S_ALR_87012197 - List of Customer Line Items
    Just curious: what's wrong with FBL1(5)N?
    Regards,
    Eli

  • JTree selection problem when using custom renderer and editor

    Hello:
    I created a JTree with custom renderer and editor.
    The customization makes JCheckBox to be the component
    responsible for editing and rendering.
    The problem is that when I click on the node with the checkbox
    the JTree selection model does not get updated.
    Without customizations of the editor and renderer the MouseEvent would be fired and BasicTreeUI$MouseHandler.mousePressed() method would call
    the selectPathForEvent() method which would be responsible for updating
    the selection model. At the same time if I attach a mouse listener to the JTree (customized) I see the events when clicking on the nodes. It seems like the MouseEvent gets lost and somehow as a result of which the selection model does not get updated.
    Am I missing something?
    Thanks
    Alexander

    You probably forgot to call super.getTreeCellRendererComponent(...) at the beginning of your getTreeCellRendererComponent(...) method in your custom renderer.
    Or maybe in the getTreeCellEditorComponent(...) of the TreeCellEditor...

  • HT2434 How do I get my custom linux software to display at 1280x1024 on my iMac under Parallels? and stay that way when I reboot?

    How do I get my custom linux software to display at 1280x1024 on my iMac under Parallels? and stay that way when I reboot?

    Interesting. Comes with? you didn't have either before? Paragon is commercial and is now v. 10.0, they were the only one keeping updated and was supporting 10.7.4. I would not enable more than one.
    For writing to HFS Paragon has theirs but probably give the nod to MacDrive there.
    I never do an upgrade to a new OS over the old system, I backup (clone) and format the drive with the new OS and do the install so whatever is there I know is clean and also to keep from carrying around leftovers from years and systems past.
    I would assme Paragon is limited. Try their site and knowledge base?
    MacDrive
    http://www.mediafour.com/updates/macdrive
    Paragon HFS
    http://www.paragon-software.com/home/hfs-windows/
    Paragon NTFS
    http://www.macupdate.com/app/mac/26288/ntfs-for-mac-os-x
    http://www.paragon-software.com/home/ntfs-mac/

  • I have CS 6 which requests I sign in to access my serial numbers, which I have already, and it fails to connect so that I cannot use the programs. How do I get past this, is there a direct line to customer support?

    I have CS 6 which requests I sign in to access my serial numbers, which I have already, and it fails to connect so that I cannot use the programs. How do I get past this, is there a direct line to customer support in the UK?
    Thanks

    Sign in, activation, or connection errors | CS5.5 and later
    Mylenium

  • '...' not appearing in obscured table cell when using custom renderer.

    Hello all -
    I am using a custom JPanel as a cell renderer in a JTable to display two icons per cell. Unfortunately, I am running into a problem that occurs when resizing a column such that the width of the column is less than the size of the cell content. Normally, when resizing a cell in this manner, it will start to cut off the text within the cell and add '...' to signify that some material is obscured. However, using my cell renderer, the text simply cuts off with no indication whatsoever there is more content that is being hidden. I have tried looking through the JComponent code to find a function to overload but I haven't had much luck. Does anyone have any suggestions?
    For a simple example, compile and run the following code and try resizing the two columns. You should be able to notice the difference.
    Thanks,
    - Alex
    import java.awt.*;
    import java.awt.image.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.table.*;
    public class TwoIcons extends JFrame {
         public static void main(String[] args){
              createIcons();
              SwingUtilities.invokeLater
                   new Runnable()
                        public void run() {
                             new TwoIcons();
         public TwoIcons(){
              super("Test");
              DefaultTableModel tm = new DefaultTableModel(
                   new Object[][]{
                        {new IconPair("cross", "cross"), "just a string"},
                        {new IconPair("circle", "cross"),"just another string"},
                        {new IconPair("String", "circle"),"yet another string"}
                   }, new String[]{"Two Icons","String"}){
                   public Class getColumnClass(int columnIndex){
                        if(columnIndex==0){
                             return IconPair.class;
                        else
                             return super.getColumnClass(columnIndex);
              JTable table = new JTable(tm);
              final Color bg = table.getBackground();
              table.setDefaultRenderer(IconPair.class, new TableCellRenderer(){
                        RendererPanel renderer = new RendererPanel(bg);
                        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                             renderer.setIcons((IconPair)value);
                             return  renderer;
              JScrollPane scp = new JScrollPane(table);
              add(scp);
              setSize(400,100);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              pack();
              setVisible(true);
         class RendererPanel extends JPanel{
              JLabel icon1, icon2;
              RendererPanel(Color bg){
                   setLayout(new BoxLayout(this,BoxLayout.LINE_AXIS) );
                   icon1=new JLabel();
                   icon2=new JLabel();
                   add(icon1);
                   add(icon2);
                   setBackground(bg);
              public void setIcons(IconPair value) {
                   icon1.setIcon(value.i1);
                   icon1.setToolTipText("Icon 1");
                   icon2.setIcon(value.i2);
                   icon2.setToolTipText("Icon 2");
                   //uncomment next 2 lines if you want text as well
                   icon1.setText(value.s1);
                   icon2.setText(value.s2);
         class IconPair {
              public Icon i1,i2;
              public String s1,s2;
              IconPair(String s1, String s2){
                   this.i1=(Icon)icons.get(s1);
                   this.i2=(Icon)icons.get(s2);
                   this.s1=s1;
                   this.s2=s2;
         static Map icons = new HashMap();
         public static  void createIcons(){
              Image img = new BufferedImage(10,10, BufferedImage.TYPE_INT_ARGB);
              Graphics2D g2=(Graphics2D)(img.getGraphics());
              g2.setColor(Color.BLUE);
              g2.drawLine(0,0,10,10);
              g2.drawLine(0,10,10,0);
              icons.put("cross",new ImageIcon(img));
              img = new BufferedImage(10,10, BufferedImage.TYPE_INT_ARGB);
              g2=(Graphics2D)(img.getGraphics());
              g2.setColor(Color.ORANGE);
              g2.drawOval(1,1,8,8);
              icons.put("circle",new ImageIcon(img));
    }

    Things aren't resizable in your layout for the custom renderer. Here's your code working as you want (I think)
    import java.awt.*;
    import java.awt.image.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.table.*;
    public class TwoIcons extends JFrame {
         public static void main(String[] args){
              createIcons();
              SwingUtilities.invokeLater
                   new Runnable()
                        public void run() {
                             new TwoIcons();
         public TwoIcons(){
              super("Test");
              DefaultTableModel tm = new DefaultTableModel(
                   new Object[][]{
                        {new IconPair("cross", "cross"), "just a string"},
                        {new IconPair("circle", "cross"),"just another string"},
                        {new IconPair("String", "circle"),"yet another string"}
                   }, new String[]{"Two Icons","String"}){
                   public Class getColumnClass(int columnIndex){
                        if(columnIndex==0){
                             return IconPair.class;
                        else
                             return super.getColumnClass(columnIndex);
              JTable table = new JTable(tm);
              final Color bg = table.getBackground();
              table.setDefaultRenderer(IconPair.class, new TableCellRenderer(){
                        RendererPanel renderer = new RendererPanel(bg);
                        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                             renderer.setIcons((IconPair)value);
                             return  renderer;
              JScrollPane scp = new JScrollPane(table);
              getContentPane().add(scp);
              setSize(400,100);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              pack();
              setVisible(true);
         class RendererPanel extends JPanel{
              JLabel icon1, icon2;
              RendererPanel(Color bg){
                   setLayout(new BoxLayout(this,BoxLayout.LINE_AXIS) );
                   icon1=new JLabel();
                   icon2=new JLabel();
                   add(icon1);
                   add(icon2);
                   icon1.setMinimumSize(new Dimension(0, 0));
                   icon2.setMinimumSize(new Dimension(0, 0));
                   icon1.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE));
                   icon2.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE));
                   setBackground(bg);
              public void setIcons(IconPair value) {
                   icon1.setIcon(value.i1);
                   icon1.setToolTipText("Icon 1");
                   icon2.setIcon(value.i2);
                   icon2.setToolTipText("Icon 2");
                   //uncomment next 2 lines if you want text as well
                   icon1.setText(value.s1);
                   icon2.setText(value.s2);
         class IconPair {
              public Icon i1,i2;
              public String s1,s2;
              IconPair(String s1, String s2){
                   this.i1=(Icon)icons.get(s1);
                   this.i2=(Icon)icons.get(s2);
                   this.s1=s1;
                   this.s2=s2;
         static Map icons = new HashMap();
         public static  void createIcons(){
              Image img = new BufferedImage(10,10, BufferedImage.TYPE_INT_ARGB);
              Graphics2D g2=(Graphics2D)(img.getGraphics());
              g2.setColor(Color.BLUE);
              g2.drawLine(0,0,10,10);
              g2.drawLine(0,10,10,0);
              icons.put("cross",new ImageIcon(img));
              img = new BufferedImage(10,10, BufferedImage.TYPE_INT_ARGB);
              g2=(Graphics2D)(img.getGraphics());
              g2.setColor(Color.ORANGE);
              g2.drawOval(1,1,8,8);
              icons.put("circle",new ImageIcon(img));
    }Note that the ... is a function of the JLabel when it is too small to render its text.

Maybe you are looking for

  • SAP Component , Data Base , add-ons

    Dear all, Please let me know the ways / function modules to find out the add-ons on the system, database being used on the system, sap component & version of the system. using function module. requirement is to run a report and get all the below deta

  • Full Service Listserve for OS X Server

    We looking for a fully loaded, easy to use Email List server. We are currently using an online service costing thousands per month. The volume is <200,000 per cycle with 2 cycles per month. We are looking for something that is scalable, easy to admin

  • Poor Battery Performance on MacBook With Snow Leopard

    Upon installing Snow on my MacBook Unibody, my battery performance has degraded from approximately 5 hours on a full charge to now less than 2.5 hours. Has anyone else experienced such? I am set up for maximum power saving in battery mode and mainly

  • Paint, buffer,update

    What are the paint, buffer and update needed for? When Should I use them. I have the following code and am trying to paint to an applet but cannot see anything in my applet please help me understand what I should be using and why. first file: package

  • Two profiles on my account - One not mine

    Hi  I havent used Skype for a while but recently upgraded to Win8 so thought Id try the app. I had to reset my password as I must have forgot it, however when I received the email it was address to an Indian name and not mine! I then clicked the link