Redraw State Borders

v1.0.8 | return to program | credits | report a bug

How to Use

Table of Contents

Terminology

In this article, "new state" refers to the states you draw, while "old state" refers to the current 50 states.

Adding States

To add a new state, first click the button, which is on the left side under the states table just below the map. You can also use the N key. Next, enter a name and color (you can leave this blank for a random color). Don't worry, both of these can be changed later in the states table! A new state will be added to the states table and automatically selected.

Drawing

To draw a new state on the map, select it in the states table by clicking the bubble next to its name. Then, you can left-click on a county to add it to that state. You can color multiple counties by dragging your mouse with the left button still down. To color an entire old state, you simply hold the ctrl key while you click or drag. You can hold shift to only color blank counties in that state. Note: you can't draw with a state that's locked.

Erasing

Select "Erase" in the first row of the states table or press the E key. Then, click or drag. Hold the ctrl key to erase an entire old state and shift to only erase counties assigned to a specific new state.

Deleting States

To delete a new state, click the button to the left of the state's name in the "Delete" column of the states table.

Locking

Locking a new state will prevent it from being edited until it's unlocked. Simply click on the lock icon in the "Lock" column of the states table to turn it off or on. means it's not locked and means it is locked.

Changing a State's Color

A color picker will display to the right of a new state's name in the states table in the "Color" column. The exact function depends on your browser, but the state should update in real time. On Chromium-based browsers, like Google Chrome and Brave, it'll confirm as soon as you click away, while on Firefox-based browsers, like Firefox and Waterfox, you'll have the option to click "OK" or "Cancel".

Undo/Redo

Due to the way the program works, it's nearly impossible to implement a proper undo/redo function, at least to my knowledge. I suggest saving often.

State Data

The states table has a lot of information, including race, religion, ancestry, and election data. The latter three are simplified to fit in the table. Religion and ancestry have a button you can click to generate a popup breaking everything down, while election data uses the button below the table to generate its own table for every state. In both case, you can use the button or click away to close the popup.

Will I add more elections? I hope to! But it does take a decent amount of work. I have to gather the data, fix Arizona and Virginia, convert it to a JSON file (with a program I wrote that you can find here), and then change multiple parts of the code to be able to use it.

Arizona and Virginia

Virginia has a few 'independent cities' that are entirely surrounded by a county. Since you have to color both, I decided to combine them. Arizona's counties are so bad I decided to redraw them, but if you want to use the old map, click "Old AZ" under the states table. To switch back to my version, click "New AZ" in the same location. Note: save files have to be loaded with the correct map of Arizona, otherwise it'll be erased.

Find blank

The button under the states table will generate a popup with a list of counties not assigned to any new state. You can click next to a county's name to zoom in on it. There's a lot of small counties you may have missed! If you want to leave some counties blank without catching them, just add a new state, draw those counties to it, and delete it when you're done.

Sorting the Table

The button will sort the states table alphabetically (this is not case sensitive) and ensure the key for PNG images will also be sorted properly.

State and County Borders

You can find under the states table to enable/disable old state and county borders on the map. This will also apply to saving images. Note: due to a bug in how SVGs are displayed, you'll still be able to see a small border between counties, but it's not actually there and won't affect your saved images. I don't know how to implement a feature to display new state borders, unfortunately, so you'll have to make sure their colors contrast enough.

The Data Map

The map on the right is used for displaying data. You can choose which kind of data to display with the data dropdown underneath it. Click it to open the list of categories and click on a category to open the list of data items you can choose from. Clicking one of them will recolor the map. Clicking or dragging on the data map will affect the main map. This is useful if you want to color specific counties based on the data being displayed.

Moving the Map

You can click the buttons on the map to move left, right, up, or down, or to zoom in or out. will return it to the default position and zoom level. You can also use the arrow keys on your keyboard to move, + to zoom in, and - to zoom out. The data map is also affected.

County Data

Hovering over a county on the data map with your mouse will display the data for that county in a table under the map. There are no buttons to see more ancestry, religion, or election data, because it'll probably change to another county before you get your mouse down there.

Saving

You can save your progress to a JSON file by clicking the button under the states table. You can save an image with the button. There's an option to choose PNG or SVG and if you choose PNG, there's also an option to select the resolution.

Loading

You can upload a save file from your computer with the or button (depending on your browser) under the states table.

Apportionment

At the bottom of the right-hand column, you'll find a button preceded by a few options. This is for apportioning seats in the House of Representatives as well as Electoral College votes. Running it will generate a new table listing each state and its number of seats and electoral votes. Note: counties not assigned to a state will be excluded from the count! This can be used to simulate territorial losses.

You can set the number of seats to a custom number or tell the program to calculate it according to the Wyoming Rule or Cube Root Law. You can also select the apportionment method. Note: I found contradictory information about this online, so I used the Census Bureau's information for everything except the Jefferson Method, which was too vague, so I used Wikipedia for that. "Sen./State" is simply the number of US Senators to give each state. This only affects the number of electoral votes, which is equal to House seats plus Senate seats.