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, youll 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 doesnt 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,
VijayDear 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. -
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,
BhadreshHi
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,
SamarHi,
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
AlexanderYou 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... -
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 in the UK?
ThanksSign 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