Мне нужно применить теорему о четырех цветах в многоугольной форме так, чтобы мне не нужно было выбирать вручную каждый цвет для размещения в каждой области. Я хотел бы знать, есть ли какое-либо расширение, плагин, сценарий или база данных, которые могут использоваться с ArcGIS и ArcToolBox, чтобы делать это математически или программно, поэтому я мог бы использовать это сейчас на каждой карте, которую я создаю.
arcgis-desktop
arctoolbox
polygon-creation
color
four-color-theorem
Please_Dont_Bully_Me_SO_Lords
источник
источник
R
кодом) и оптимальное решение (которое будет использовать три или даже два цвета, если они могут работать) в Mathematica . Это решение рекурсивно; ответ на мой пост дает линейное решение программирования. В ГИС-коллектор уже давно встроен пятицветный алгоритм. (Ответы:
Прежде всего, спасибо за все ответы и комментарии. К сожалению, существующие инструменты не были полностью совместимы с последними версиями QGIS и ArcGIS. Поэтому я сделал свое собственное решение, используя инструмент, обозначенный @polygeo, плагин QGIS от @Alexandre и название алгоритма (четырехцветная карта) от @Jens.
Вот мой код для интересующихся (для ArcGIS, но вторую часть можно использовать и в QGIS).
Обратите внимание, что алгоритм не гарантирует, что используются только 4 цвета: хотя было доказано, что решение существует, "грубая сила" необходима для его достижения. В моем случае я получил 7 цветов, что достаточно мало. Сценарий может иметь дополнительный цикл, пока не будет найдено решение, но мне нужно сделать это для сотен карт, и 7 цветов в порядке.
источник
Существует пример разработчика VB6 и инструмент геообработки ArcGIS 9.x, но из комментариев к этой идее ArcGIS они не работают на 10.0+.
Возможно, кому-то будет интересно его портировать.
Решение QGIS под названием TopoColour дается в комментариях к этому связанному вопросу: Цветные полигоны, так что каждый из них отличается от своих соседей.
источник
Если вы используете QGIS, я считаю, что вам нужен плагин « Раскраска карты» .
К сожалению, плагин доступен только для версии QGIS 1.8, но вы всегда можете скачать и посмотреть, как работает код!
источник
Это адаптация ответа @ radouxju в функцию. Это добавит поле цвета к входному объектному слою и вычислит. Он должен работать независимо от окончаний имен полей PolygonNeighbors (они кажутся разными для разных версий пользователей / входов / arcgis (?))
источник