How to calculate the area of polygon in WPF Bing map?

Hi everyone, I have a polygon on Bing Map WPF and want to calculate its area in square feet. I used a list contained all points of the polygon to calculate using this formula: area += (point.X * nextPoint.Y - point.Y * nextPoint.X)/2. However, the result
is too large. For example, I calculated a rectangle of 57ft and 80ft and the result was 58000. It's supposed to be 4560. Do I need to convert points to feet? Could you help me to solve this? Thanks a lot.
Here is my code:
double area = 0;
double area2 = 0;
for (int numPoint = 0; numPoint < inputPoint.Count - 1; numPoint++)
System.Windows.Point point = inputPoint[numPoint];
System.Windows.Point nextPoint = inputPoint[numPoint + 1];
area2 += point.X * nextPoint.Y - point.Y * nextPoint.X;
area = area2 / 2;

Calculating the area of a polygon on a map is very complicated as the world is a sphere and you are actually trying to calculate the area of a polygon stretched on the surface of a sphere. Since you are using WPF I'd suggest to make things easy and make
use of the spatial library available in SQL server. All the spatial functionalities in SQL server are available as a dll which you can use in your WPF application. You can easily use this library to calculate the area of a polygon accurately and do a lot of
other really powerful things as well. To start off with, if you have SQL instelled you can find the SQL Spatial Library (Microsoft.SqlServer.Types) located in the C:\Program Files (x86)\Microsoft SQL Server\110\Shared directory. If you
don't have SQL Server installed you can download the express version for free from here:
http://www.microsoft.com/en-us/sqlserver/editions/2012-editions/express.aspx
Take a look at this hands on lab for information using SQL spatial tools in .NET:
http://view.officeapps.live.com/op/view.aspx?src=http%3A%2F%2Fecn.channel9.msdn.com%2Fo9%2Flearn%2FSQL2008R2TrainingKit%2FLabs%2FUsingSpatialDataInManagedCode%2FLab.docx
Once you have this library you can create an SQL Geography object from your polygon. Once this is done you can then use the STArea method to calculate the area of the polygon. There is a ton of other spatial methods available as well which you can use to
create a really powerful mapping application.
http://rbrundritt.wordpress.com

Similar Messages

  • How to calculate the area of a large number of polygons in a single query

    Hi forum
    Is it possible to calculate the area of a large number of polygons in a single query using a combination of SDO_AGGR_UNION and SDO_AREA? So far, I have tried doing something similar to this:
    select sdo_geom.sdo_area((
    select sdo_aggr_union (   sdoaggrtype(mg.geoloc, 0.005))
    from mapv_gravsted_00182 mg 
    where mg.dblink = 521 or mg.dblink = 94 or mg.dblink = 38 <many many more....>),
    0.0005) calc_area from dualThe table MAPV_GRAVSTED_00182 contains 2 fields - geoloc (SDO_GEOMETRY) and dblink (Id field) needed for querying specific polygons.
    As far as I can see, I need to first somehow get a single SDO_GEOMETRY object and use this as input for the SDO_AREA function. But I'm not 100% sure, that I'm doing this the right way. This query is very inefficient, and sometimes fails with strange errors like "No more data to read from socket" when executed from SQL Developer. I even tried with the latest JDBC driver from Oracle without much difference.
    Would a better approach be to write some kind of stored procedure, that adds up all the single geometries by adding each call to SDO_AREA on each single geometry object - or what is the best approach?
    Any advice would be appreciated.
    Thanks in advance,
    Jacob

    Hi
    I am now trying to update all my spatial table with SRID's. To do this, I try to drop the spatial index first to recreate it after the update. But for a lot of tables I can't drop the spatial index. Whenever I try to DROP INDEX <spatial index name>, I get this error - anyone know what this means?
    Thanks,
    Jacob
    Error starting at line 2 in command:
    drop index BSSYS.STIER_00182_SX
    Error report:
    SQL Error: ORA-29856: error occurred in the execution of ODCIINDEXDROP routine
    ORA-13249: Error in Spatial index: cannot drop sequence BSSYS.MDRS_1424B$
    ORA-13249: Stmt-Execute Failure: DROP SEQUENCE BSSYS.MDRS_1424B$
    ORA-29400: data cartridge error
    ORA-02289: sequence does not exist
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 27
    29856. 00000 - "error occurred in the execution of ODCIINDEXDROP routine"
    *Cause:    Failed to successfully execute the ODCIIndexDrop routine.
    *Action:   Check to see if the routine has been coded correctly.
    Edit - just found the answer for this in MetaLink note 241003.1. Apparently there is some internal problem when dropping spatial indexes, some objects gets dropped that shouldn't be. Solution is to manually create the sequence it complains it can't drop, then it works... Weird error.

  • How to calculate the salary of the employees when they are differentiated by monthly and hourly basis

    Hi all
    How to calculate the salary of the employees when they are differentiated by monthly and hourly basis
    How can we write the logic though sql
    Thanks in advance

    (case when pay_basis like 'HOURLY'
    then PROPOSED_SALARY_N*pay_annualization_factor
    when pay_basis like 'ANNUAL'
    then PROPOSED_SALARY_N*pay_annualization_factor
    end )
    I was actually trying to write the logic in this way but it was not calculating in correct format for hourly paid employees

  • How to calculate de area of a waveform in LabView with the oscilloscope Tektronix TDS380

    I have a question about a mathematical algorithm. I am using the Tektronix oscilloscope model TDS 380 and since now I have been taking measurements peak to peak, putting in the labview program MEASU: MEAS1: VAL?
    I am interested in calculating the area of the waveform, and the instruction manual for the Tektronix TDS 8000 found the command MEASU: MEAS1: TYPE AREA. This command is not in the manual for the model TDS 300 and therefore do not know if you can apply FOR IT. When I insert it I get the error code -1073807339.
    My question is: would it be possible to calculate the area with my oscilloscope TDS380 somehow and with LabView? Is it possible to apply the algorithm or can be done differently?

    Sorry about not posting. I'm on a business trip right now. Here's the VI, though.
    Attachments:
    get_second_derivative.vi ‏56 KB

  • How can I calculate the area bounded by a large number of intersecting lines displayed on a graph?

    Can I adapt 'particle (or blob) analysis' to a graph, or would I be better off saving my graph as an image and using IMAQ VI's to do particle analysis on the image?

    Almost wish they some sort of a whiteboard feature on this forum. 'Cause this would be easiest to explain with some dynamic pictures.
    Any way, to calculate the area "shared" by two or more functions you subtract the areas. Piecewise: calculate the area of fuction 1 by integrating over range of intersection, calculate the area of fuction 2 by integrating over range of intersection, subtract Area 1 from Area 2 and take the absolute value.
    If more than 2 functions, start with the two functions with the greatest area of overlap, and work towards the smallest.
    This is assuming continuous polynomial functions comprise the intersections and you know the points of intersection. If they are simple linear functions you might be able to do some geometric additions (a
    dd up all the trapizoidal/triangle areas formed by consecutive points of intersection).
    This is the robust works-for-most-cases solution, your particular instance may provide short cuts, but no details were given that might provide clues to those short cuts.
    Good luck.

  • How to calculate the difference of two totals which are of the same group?

    Post Author: mingli
    CA Forum: Formula
    Hello,
    I have an existing report which has a group defined. The group generates two set of data, at the footer of each set of data, the total is calcuated. Now I need to calculate the difference between the totals. For example:
                             value
    set 1
          item 1         100
          item 2         200
          item 3        300
    set 1 total         600
    set 2
         item 1         200
         item 2          20
         item 3        300
         item 4         40
    set 2 total       560
    difference       40
    My question is: how can I do this? I'm thinking about create a formula. But the problem is, these two totals have the same field name. Could someone help me out?
    Thanks.

    Post Author: deejayw
    CA Forum: Formula
    Hi,I have a similar type of query...my Sets only ever contain two entries but there is an unknown number of sets.                        value
    set 1
          item 1         100
          item 2         200
    difference (item2 - item1) =   100
    set 2
         item 1         200
         item 2          20difference (item2 - item1) =    -180
    Set 3, Set 4, etc, etc I need to figure out how to calculate the "difference (item2 - item1)" total above. I am really confused by this and need assistance. Many thanks. 

  • How to calculate the number of sent/received emails of a certain domain

    Thank you for what you have helped me with!
    How to calculate the number of sent/received emails of a certain domain in a certain period? It is Messaging Server 5.2, Directory Server 4.2. Is there a log option for this?
    Thank you.

    Not sure where you find, "LOG_MESSSAGE_ADD". I don't actually find this option in the documentation.
    The domains that mails are coming from and being sent to are certainly logged in the normal mail.log, so why mess with additional logging options? If you're talking about "LOG_CONNECTION", I actually see no additional data that is useful to you.
    If you decide to change the option.dat, you do indeed need to
    imsimta cnbuild (note, it's not cnrebuild)
    imsimta restart
    If I were facing the same issue, I'd be looking at the log parsing perl script, and simply modifying it to do what I wanted.

  • How to calculate the size of web forms in hyperion planning?

    Hi Experts,
    I am trying to calculate the size of planning forms in Hyperion smart view., but i am unable to find out the way to calculate.
    Can you pls explain how to calculate the size of web form in Smart view?
    --- Srini.

    Hi Srini,
    First, here is what Oracle says:
    Data Form Size Estimation:
    To get a rough estimate of data form size, open the data form and select File > Save As from the browser. The size of the .HTML file is the portion of the data form that changes based on grid size. The .JS files remain the same size and can be cached, depending on browser settings. Information such as data form definitions, pages, and .gif files are not compressed when data forms are opened and sent to the Web browser.
    I have not been able to find out using their method.
    In any case, you can find out the size of grid by using below
    1. Right click on the form grid and click "View source"
    2. Save the source file as "Example.html"
    3. Right click the saved file and click "Properties"
    4. The Form size whould be same as that of file..
    Let me know if it helps.
    Cheers
    RS

  • How to calculate the row size

    Hi,
    I am having a table of 4 column. First column is varchar2(10), Second column is Number(5), Third column is char(10) and Fourth column is Number(12,2).
    Now how to calculate the size of each row. I want to know how much space it will take for each row.
    Thanx & Regards,
    Swarup

    For a complete discussion of storage requirements for different datatypes see the Oracle 8i Concepts manual.
    All Oracle documentation is available on-line via the 'Documentation' link on the OTN home page.
    Your Col2 NUMBER(5) will take 4 bytes if it holds a 5 digit positive or negative number.
    Your Col4 NUMBER(12,2) will take 7 bytes if it holds a number with 12 digits that is positive and will take 8 bytes if it holds a number with 12 digits that is negative.
    The following is from the Concepts manual Chapter 12 (Copyright by Oracle)
    Built-In Datatypes 12-9
    Internal Numeric Format
    Oracle stores numeric data in variable-length format. Each value is stored in
    scientific notation, with one byte used to store the exponent and up to 20 bytes to
    store the mantissa. The resulting value is limited to 38 digits of precision. Oracle
    does not store leading and trailing zeros. For example, the number 412 is stored in a
    format similar to 4.12 x 10 2 , with one byte used to store the exponent (2) and two
    bytes used to store the three significant digits of the mantissa (4, 1, 2). Negative
    numbers include the sign in their length.
    Taking this into account, the column size in bytes for a particular numeric data
    value NUMBER ( p), where p is the precision of a given value, can be calculated
    using the following formula:
    ROUND((length( p)+ s)/2))+1
    where s equals zero if the number is positive and s equals 1 if the number is
    negative.
    Zero and positive and negative infinity (only generated on import from Version 5
    Oracle databases) are stored using unique representations. Zero and negative
    infinity each require one byte; positive infinity requires two bytes.
    null

  • In labview,how to calculate the parameters of the bilinear model that simulates the generation electroencephalogram?

    Dear Sir or madam:
    I have collected a lot of electroencephalogram data, which looks like a continuous sine wave plus a noise signal. what i want to do now is to fit the data with the bilinear model as the attached jpg file. the problem is the parameters of the model are changing with the evolution of the signal. would someone like to tell me how to calculate the parameters in the bilinear model?
    thank you very much
    Attachments:
    Bilinear_Model.jpg ‏33 KB

    I can point you in the right direction, but probably not answer your question really well. If you have the pro or full distribution of LabVIEW, you can use the curve fitting VIs to match any set of data to a theoretical curve. The curve fitting Express VI may do all you need to do (use the nonlinear option). To get the signal evolution, break your data into pieces and process each. If you need to average a bit, you can use a sliding window of your data for each analysis, moving the window less than the window width for each analysis.
    There are a plethora of curve fitting techniques built into LabVIEW - matrix operations, linear and log linear fits, Levenberg-Marquardt methods, downhill simplex, etc. You will probably need to experiment a bit to get a stable
    algorithm for your case. Check your literature for ways other people have done this. There may be an easy, stable method out there.
    If you are unfamiliar with curve fitting techniques, or you do not have the pro or full versions of LabVIEW, I would recommend "Numercial Recipes in C" by Press et. al., published by Cambridge University Press. The chapter on Modeling of Data will get you going. The rest of the book will provide any background you need.
    This was a very general answer. If you need something more specific, let me know. Be aware that this type of problem usually requires some trial and error to get right. The answers should be tightly scrutinized before being believed.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Need to calculate the area of a vector shape in Illustrator CS6

    Hi All,
    I need to calculate the area of vector graphics we are designing for a vinyl window sticker. I've read a couple of previous threads, and all the solutions provided either don't work (using cmd, option, shift F12 to open debugging menu to get area), or are beyond my level of experience (doing a build of the Telegraphics Path Area Filter). Does anyone have any solutions, or know how to access the debugging menu/window other than using cmd, shift, option F12....I couldn't even find it in the Shortcut Keys preferences).  Thanks!

    Jacob
    It worked very well - great stuff!. I am a physician and I am working on cardiac MRI.. such as calculating the heart function using slices of heart images in systole and diastole (when the heart is squeezed or full of blood).
    .. we can write a little medical paper comparing really pricey software (GE, Siemens, Medis you name it..) with this method for people with not too many pennies in their pocket. The advantage of using Illustrator is that you can blow up the images up to the point of loosing resolution, and trace the margins of the heart with an accuracy that would make any GE guy cry for his mama..
    I thought even a cm further.. for simple-minded people (such as physicians for example) one would like a way to input the area of one slice directly into an equation. For example would be a way to create a routine that would take the number of the area of one slice and input it in this equation? Such as to create a little square where you put the slice, you trace it and then the program takes that number and pitches it in the equation without you writing it down on a paper.
    thanks again!
    Avi

  • [svn:fx-trunk] 10545: Make DataGrid smarter about when and how to calculate the modulefactory for its renderers when using embedded fonts

    Revision: 10545
    Author:   [email protected]
    Date:     2009-09-23 13:33:21 -0700 (Wed, 23 Sep 2009)
    Log Message:
    Make DataGrid smarter about when and how to calculate the modulefactory for its renderers when using embedded fonts
    QE Notes: 2 Mustella tests fail:
    components/DataGrid/DataGrid_HaloSkin/Properties/datagrid_properties_columns_halo datagrid_properties_columns_increase0to1_halo
    components/DataGrid/DataGrid_SparkSkin/Properties/datagrid_properties_columns datagrid_properties_columns_increase0to1
    These fixes get us to measure the embedded fonts correctly when going from 0 columns to a set of columns so rowHeight will be different (and better) in those scenarios
    Doc Notes: None
    Bugs: SDK-15241
    Reviewer: Darrell
    API Change: No
    Is noteworthy for integration: No
    tests: checkintests mustella/browser/DataGrid
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-15241
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as
        flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase .as
        flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColu mn.as

    Hi Matthias,
    Sorry, if this reply seems like a products plug (which it is), but this is really how we solve this software engineering challenge at JKI...
    At JKI, we create VI Packages (which are basically installers for LabVIEW instrument drivers and toolkits) of our reusable code (using the package building capabilities of VIPM Professional).  We keep a VI Package Configuration file (that includes a copy of the actual packages) in each of our project folders (and check it into source code control just as we do for all our project files).  We also use VIPM Enterprise to distribute new VI Packages over the network.
    Also, as others have mentioned, we use the JKI TortoiseSVN Tool to make it easy to use TortoiseSVN directly from LabVIEW.
    Please feel free to contact JKI if you have any specific questions about these products.
    Thanks,
    -Jim 

  • Ck11n:how to calculate the Quantity?

    Dear all.
    I use the tcode ck11n to create material cost estimate with quality structure.
    And input the parameter like below:
    Material = 600000-000000-0012
    plant = 1000
    Costing Variant = PPC1
    Costing Lot Size = 1
    After press return,the sap show the Itemization for material like below:
    20.11.2008                            Dynamic List Display                                   1
    Itemization for material 600000-000000-0012 in plant 1000
    Material             600000-000000-0012
    Plant                1000              
    Costing Variant      PPC1               Standard Cost Est. (Mat.)
    Costing Version       1
    Costing Date from-to 01.12.2008 - 31.12.9999
    Lot Size             1                  KARCarton
    Cost Base            1                  KARCarton
    Cost of Goods Manufactured
    ItmNo
    ItemCat
    Resource
    Cost Eleme
    Total
    Fixed
    Currncy
    Quantity
    Un
    1
    E
    J0103033   WC1      A03
    1001
    14,400.00
    7,200.00
    CNY
    3,600
    CAR
    2
    E
    J0103033   WC1      A01
    1001
    25,200.00
    10,800.00
    CNY
    3,600
    CAR
    3
    E
    J0103033   WC1      A02
    1001
    14,400.00
    7,200.00
    CNY
    3,600
    CAR
    4
    E
    J0103033   WC1      A04
    1001
    14,400.00
    7,200.00
    CNY
    3,600
    CAR
    5
    E
    J0103033   WC1      A05
    1001
    14,400.00
    7,200.00
    CNY
    3,600
    CAR
    6
    M
    1000 600000-000000-0013
    40000002
    9.00
    0.00
    CNY
    3
    CAR
    7
    G
    CC_AT01    41000001
    41000001
    2.25
    0.00
    CNY
    82,811.25
    39,600.00
    CNY
    At the first line,the Resource was "J0103033   WC1      A03",and the Quantity was "3600".
    I don't know why the Quantity was "3600" or where the Quantity come from?
    So I need someone tell me how to calculate the Quantity?
    Thank you so much.
    Regards
    Yoda

    Hi,
    Pl note the Item Category, " M "- Material - The 3 quantity has been picked up from BOM correctly.
    You are referring to Quantity 3600, which is against item category - E. Item category " E" means Internal activity allocation i.e the date flows through assignment to Routing. Check the Work center, Cost center & Activity types  J0103033 WC1 A03 1001.
    Now i think it is clear.
    Cheers !
    Siva
    Cost of Goods Manufactured
    ItmNo ItemCat Resource  Cost Eleme Total Fixed Currncy Quantity Un 
    1 E  J0103033 WC1 A03 1001  14,400.00  7,200.00  CNY  3,600  CAR
    2 E  J0103033 WC1 A01 1001  25,200.00  10,800.00  CNY  3,600  CAR
    3 E  J0103033 WC1 A02 1001  14,400.00  7,200.00  CNY  3,600  CAR
    4 E  J0103033 WC1 A04 1001  14,400.00  7,200.00  CNY  3,600  CAR
    5 E  J0103033 WC1 A05 1001  14,400.00  7,200.00  CNY  3,600  CAR
    6 M  1000 600000-000000-0013 40000002  9.00  0.00  CNY  3  CAR
    7 G  CC_AT01 41000001  41000001  2.25  0.00  CNY

  • How to calculate the HFM Cube size in SQL Server-2005

    Hi
    How to calculate the HFM Cube size in SQL Server-2005 ?
    Below query used for Oracle. Then what is query for SQL Server?
    SQL> select sum(bytes/1024/1024) from dba_segments where segment_name like 'FINANCIAL_%' and owner='HFM';
    SUM(BYTES/1024/1024)
    SQL> select sum(bytes/1024/1024) from dba_segments where segment_name like 'HSV FINANCIAL%' and owner='HFM';
    SUM(BYTES/1024/1024)
    Regards
    Smilee

    What is your objective? The subcube in HFM is a concept which applies to the application tier - not so much to the database tier. The size of the subcube is the unique number of data strips (data values for January - December inclusive, for example) for the given entity, currency triplet or Parent.Child node. You have to account for parent accounts and customs which don't exist in the database but are generated in RAM in the application tier.
    So, if your objective is to find the largest subcubes, you could do this by querying the database and counting the number of records per entity/value (DCE tables) or parent.child entity combination (DCN tables). I'm not versed in SQL, but I think the script below would just tell you the schema size and not the subcube sizes.
    Check out Accelatis.com for a third party software product that can do this for you. The feature is called the Subcube Analyzer and was written by the same team that wrote HFM, so they ought to know how this works :-)
    --chris                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How to calculate the switching score

    Dear Experts,
    As per ISO 2859, the normal inspection can be changed to reduced Inspection if the production is steady, current value of switching score is 30, approved by responsible authority. My request is how to calculate the switching score?. I follow G-I inspections and AQLs 1.5.
    Regards,
    Krish

    Hi Sujit,
    Thanks for your reply.
    I have find work arround for switching score. but my problem is we are applying switching rule to multiple sample,
    for that as per ISO if the 4th sample is used score will be 0 but the batch is accpeted, as per dynamic modification set up this consider as OK lot but as per the ISO below30 score we will not go for next reduced inspection. if it is rejected then we will follow work arround. How to control in DMR? Is there any user exit is available .
    regards,
    krish

Maybe you are looking for

  • IFS- Simplest Application step 9

    Hi, I follow the instructions for creating the SIMPLEST (Hello, iFS) example in the "iFS Online Resources" document, everything seems to work until the very last step (step 9). After i uploaded first.xml at step 9, i point my web brower to simplest.j

  • Error when configuring Portal Server 7.1 Update 1 on Solaris 10 x86 VM

    I have installed Portal Server 7.1 with most of the default options/settings but I was unable to get the server up. Going through /var/opt/SUNWportal/logs/config/portal.fabric.0.0.log, I found some SEVERE entries: [#|2008-03-04T18:10:21.184-0500|SEVE

  • IPad Air brightness changing with auto brightness off.

    I Have an iPad Air and the brightness is set to maximum and auto brightness is turned off.  After using the ipad the ipad brightness will increase dramatically and stay like this for anything up to five min, then it goes and reverts back to what it w

  • In Cp5, can you record a window that is smaller than the project size?

    We would like to have a project that is sized larger than the application capture areas, in order to have a section to the side of the application captures that can be used for buttons, text boxes, and rollover objects for example. For example, the C

  • Wireless card in PC slot not recognized by Airport software

    Since upgrading to Tiger from 10.3.9, I have not been able to use my wireless card (MacWireless cardbus 802.11g) in my PB G4 667 after I eject the card and reinsert. The PC Card menu item recognizes the card, but not Airport. If I leave the card in a