我正在利用NLCD数据与面积庞大的7个州的森林和非森林合作。 在一些森林地区,这块土地是一块地块(这是我正在讨论的主线)。 我把我问到的每一个人都推到了这个庞大的数据集之下,但我们确信,那里有解决办法。 森林/农林区是一个已签署和独立的小区。 我得以将林区划出森林面积,使林区变成多角。 我无法将非林区变成多角(大面积)。 因此,我试图将距离(位于多角)到林多角边缘。 你们是否建议把点到森林边缘?
远离多角到多角的边缘
原标题:
问题回答
确实,这取决于两件事;具体地说,你们想要哪边? 你们是否希望找到最接近的边缘,或者你们是否还有其他一些标准希望通过(例如,主要方向)选择一个边缘?
如果你想找到最接近的边缘,你基本上想在多角各行各行各行各行各行各行各行各行各行各行各行各行各行各业,进行线对点的距离计算;这将找到你的距离。 可在查询问题,并对算法作了一些很好的说明。
在这里,有些法典将距离点到边缘点,而多角是会合而不是《特定常规武器公约》。 你们必须试过你们所有的多角。 这对一大批优势来说可能有些缓慢。
- (double) distanceFromPoint:(yourPoint)testPoint
{
double pointX = edgePointB.x - edgePointA.x;
double pointY = edgePointB.y - edgePointA.y;
double k = pointX * pointX + pointY * pointY;
double u = ((testPoint.x - edgePointA.x) * pointX + (testPoint.y - edgePointA.y) * pointY) / k;
if (u > 1)
u = 1;
else if (u < 0)
u = 0;
double x = edgePointA.x + (u * pointX);
double y = edgePointA.y + (u * pointY);
double dx = x - testPoint.x;
double dy = y - testPoint.y;
return sqrt((dx * dx) + (dy * dy));
}
如果你确信这一点在外角,首先检验。 然后,为了测试距离最接近森林边缘的距离,你可以尝试这样的东西:
http://www.bdcc.co.uk/Gmaps/BdccGeo.js
谷歌具有从点到多角边缘的丰富成果。
相关问题
热门标签
- winforms
- combobox
- fogbugz
- java
- date
- internationalization
- asp.net
- iis
- url-rewriting
- urlrewriter
- c#
- enums
- ocaml
- haxe
- algorithm
- string
- viewstate
- .net
- c++
- c
- symbol-table
- mysql
- database
- postgresql
- licensing
- migration
- vb.net
- vb6
- declaration
- vb6-migration
- python
- psycopg2
- backup
- vmware
- virtualization
- gnu-screen
- authentication
- desktop
- excel
- xll
- cultureinfo
- regioninfo
- oracle
- client
- session
- download
- html
- virtual
- constructor
- scenarios
- perl
- full-text-search
- javascript
- ajax
- testing
- oop
- inheritance
- vim
- encapsulation
- information-hiding