2013-05-29 9 views
1

Я хотел бы проиллюстрировать, как большие разные области, рисуя квадраты подходящего размера по карте Великобритании. См. a non SVG example идеи.Используя d3, какой самый простой способ нарисовать многоугольник 10000 км2 на карте?

В идеале я хотел бы использовать d3.js для рисования карты и «квадратов» с помощью SVG. В идеале я бы хотел, чтобы «квадраты» были многоугольниками, которые были соответствующим образом скорректированы для искажения проекции карты.

Я получаю как рисовать карту и проектировать многоугольник, поэтому я предполагаю, что я пытаюсь работать, это функция javascript, которая займет область, широту и долготу и возвращает многоугольник geoJSON, который я затем можно спроектировать:

function square(area, latitude, longitude) { 
    ... something ... 
    return geojson_polygon; 
} 

Является ли эта часть какой-либо существующей библиотеки? или вы можете указать мне на какой-то примерный код, который я могу сделать? или только математику, которую мне нужно реализовать?

ответ

0

Я бы не стал рисовать прямоугольник как объект geojson; просто используйте проекцию карты, чтобы превратить широту и долготу в координаты x y для svg и нарисовать прямоугольники на отдельном слое.

Чтобы сделать прямоугольник правильного размера, вы можете просто разглядеть разные высоты и ширину. В качестве альтернативы, сделайте небольшую математику (http://jamesmccaffrey.wordpress.com/2012/03/03/the-area-bounded-by-geographical-latitude-longitude-points/), чтобы найти широту и долготу прямоугольника с правильной площадью, преобразовать эти числа в координаты x y svg и использовать их для рисования прямоугольника.